
微服务架构是将一个完整的项目,拆分成多个模块去分别开发。
SpringCloud 是微服务架构落地的一套技术栈。
SpringCloud 的八个技术点。
Eureka,服务的注册与发现;
Robbin,服务之间的负载均衡;
Feign,服务之间的通讯;
Hystrix,服务的线程隔离以及断路器;
Zuul,服务网关;
Stream,实现MQ的使用;
Config,动态配置;
Sleuth,服务追踪。
Eureka 帮助我们维护所有服务的信息,以便服务之间的相互调用。
创建 SpringBoot 工程作为父工程。删除 src 文件夹。
SpringBoot 和 Eureka 版本对应。

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.6.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>demo</artifactId><version>1.0.0</version><name>demo</name><description>Demo project for Spring Boot</description><packaging>pom</packaging><properties><java.version>1.8</java.version><spring.cloud-version>Greenwich.SR5</spring.cloud-version></properties><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring.cloud-version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
创建 Module -> Maven 工程作为 EurekaServer。自己建立启动文件等。


// pom.xml<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency></dependencies>
// EurekaServerApplication.java// 启动类添加服务端注解@SpringBootApplication@EnableEurekaServerpublic class EurekaServerApplication {public static void main(String[] args) {SpringApplication.run(EurekaServerApplication.class, args);}}
// application.ymlserver:port: 8761eureka:instance:hostname: localhostclient:registerWithEureka: falsefetchRegistry: falseserviceUrl:defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
创建 Module -> Maven , 工程 Customer 作为 EurekaClient。自己建立启动文件等。
// pom.xml<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><!-- web 工程服务一直运行 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>
// CustomerApplication.java// 启动类添加客户端注解@SpringBootApplication@EnableEurekaClientpublic class CustomerApplication {public static void main(String[] args) {SpringApplication.run(CustomerApplication.class, args);}}
# 把当前 EurekaClient 服务注册到 EurekaServer 端eureka:client:serviceUrl:defaultZone: http://localhost:8761/eureka/spring:application:name: CUSTOMER
启动时右下角选择将所有服务启动统一管理。

打开图形界面查看启动和注册是否成功。

文章转载自java小小小小栈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




