最近开始微服务的正式学习,网上找了一圈决定用开源项目passcloud作为学习参考,万分感谢~
这个系列教程的目的是完全梳理paascloud项目架构和功能,并不是从零开始学习微服务,所有内容均建立在阅读者已拥有微服务基础知识储备并具备基本开发能力。下面开始正式学习。
项目介绍
1 | 功能点: |
目录结构:
1 | ├─paascloud-master----------------------------父项目,公共依赖 |
paascloud-eureka 微服务注册中心
我们先从简单的学起。
pom:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15<!--关键依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<!--安全相关,不需要也可以不引用-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<!--日志,需要编写对应的日志配置文件-->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
</dependency>
java:用注释EnableEurekaServer标识该类为服务注册中心1
2
3
4
5
6
7
8
9
10
11
12
13@EnableEurekaServer
@SpringBootApplication
public class PaasCloudEurekaApplication {
true/**
* The entry point of application.
*
* @param args the input arguments
*/
truepublic static void main(String[] args) {
truetrueSpringApplication.run(PaasCloudEurekaApplication.class, args);
true}
}
可以看到有两个主要的资源配置文件:bootstrap.yml、application.yml。
他们的主要区别为bootstrap会比application加载更早,所以bootstrap中往往进行一些与启动有关的、更加底层的参数配置(这些配置通常不容易改变)。
当然,你想混用也没问题。
bootstrap.yml:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21#这一段配置的作用是为了在多网卡服务器上部署项目时指定地址
spring:
cloud:
inetutils:
ignoredInterfaces: #忽略网卡
- docker0
- veth.*
- VM.*
preferredNetworks: #指定IP地址段
- 192.168
eureka:
server:
enable-self-preservation: false #关闭eureka自我保护机制
instance:
hostname: localhost #设置当前实例的主机名称
client:
registerWithEureka: false #关闭服务注册(不将自身作为服务注册)
fetchRegistry: false #关闭检索服务
serviceUrl: #设置服务注册中心默认地址
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka
application.yml1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16#指定启动的端口
server:
port: 8761
spring:
profiles:
active: dev #用来区分环境配置,这里好像没什么用了(没有其他配置文件)
application: #指定应用名称
name: @pom.artifactId@
security:
basic:
enabled: true #开启基本鉴权
user:
name: root #默认用户名
password: root #默认密码
logback-spring.xml 日志配置文件1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31xml version="1.0" encoding="UTF-8"
<configuration>
<!-- 此xml在spring-boot-1.5.3.RELEASE.jar里 -->
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
<!-- 开启后可以通过jmx动态控制日志级别(springboot Admin的功能) -->
<!--<jmxConfigurator/>-->
<springProperty scope="context" name="springAppName" source="spring.application.name"/>
<property name="LOG_PATH" value="/data/logs/paascloud/${springAppName}"/>
<property name="LOG_FILE" value="${springAppName}"/>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_PATH}/${LOG_FILE}</File>
<encoder>
<pattern>%date [%level] [%thread] %logger{60} [%file : %line] %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 添加.gz 历史日志会启用压缩 大大缩小日志文件所占空间 -->
<fileNamePattern>${LOG_PATH}daily/${LOG_FILE}.%d{yyyy-MM-dd}.gz</fileNamePattern>
<maxHistory>30</maxHistory><!-- 保留30天日志 -->
</rollingPolicy>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
</configuration>
有以上这些东西,eureka就可以运行起来了,通过网址http://${eureka.instance.hostname}:${server.port}/eureka可以访问到管理页面,用刚才设置的用户名和密码登录即可。
本节到此结束,下一节我们来分析paascloud的配置中心discovery,感谢阅读!