小编2015年进入一家互联网公司开始接触微服务。当时对微服务的概念也是懵懵懂懂。在逐步的探索中,踩了大大小小的坑不计其数。最开始使用的还是Springboot1.4.x的版本。版本的升级也遇到了许多的麻烦。所有与微服务相关的组件都需要自己动手搭建。比如服务注册发现、负载均衡、API网关等重量级的组件。系统跑的磕磕绊绊。
现如今,Spring Cloud已经非常成熟了。上面提到的相关组件与Spring Cloud已经可以无缝连接,如果你使用Maven作为构建工具的话,只需要引入你想要的依赖,并在代码上加上相关的注解,或者在配置文件中输入你想要的配置,可以说是分分钟搞定一个微服务的框架。今天小编就来介绍一下搭建基于Spring Cloud的微服务框架是多么简单。
1、 搭建工程。
1.1、任意位置创建一个目录spring-cloud,在此目录下创建一个文本文件,取名pom.xml。
1.2、 IDEA打开spring-cloud工程。你的第一个Spring Cloud微服务框架工程搭建完成啦!
2、 服务注册与发现Eureka Server。
2.1、创建一个新的module,取名eureka-server。pom.xml文件添加spring-cloud-starter-eureka-server依赖。
2.2、创建启动类,启动类中添加@EnableEurekaServer注解。配置文件Application.yml文件添加spring.application.name=eureka-server、server.port=8761。eureka.client.register-with-eurkea和eureka.client.fetch-registry给false。eureka.client.service-url.defaultZone=http://127.0.0.1:8761/eureka/。
2.3、启动eureka-server。
3、 客户端负载均衡Ribbon Client。
3.1、创建一个customer-service的module。
3.2、pom.xml添加spring-cloud-starter-netflix-eureka-server和spring-cloud-starter-netflix-ribbon依赖。
3.3、创建启动类,并添加@ EnableEurekaClient注解。注入一个restTemplate的bean。加上@LoadBanlanced注解。
3.4、添加application.yml文件,spring.application.name=customer-service、server.port=8010、eureka.client.service-url.defaultZone=http://127.0.0.1:8761/eureka/。
同上4个步骤再创建一个provider-service的module。配置基本相同,只是不用注入restTemplate。
启动customer-service和provider-service两个服务,provider-service可以任意发布出来一个rest接口。customer-service中使用provider-service这个虚拟的IP去调用,测试一下效果。
如果provider-service启动多个端口,看看是否实现了负载均衡?
Feign、Hystrix、Zuul和Spring Cloud Config后续文章再行介绍。