10分钟搭建基于Spring Cloud的微服务框架


10分钟搭建基于Spring Cloud的微服务框架

文章插图
 
小编2015年进入一家互联网公司开始接触微服务 。当时对微服务的概念也是懵懵懂懂 。在逐步的探索中,踩了大大小小的坑不计其数 。最开始使用的还是Springboot1.4.x的版本 。版本的升级也遇到了许多的麻烦 。所有与微服务相关的组件都需要自己动手搭建 。比如服务注册发现、负载均衡、API网关等重量级的组件 。系统跑的磕磕绊绊 。
现如今,Spring Cloud已经非常成熟了 。上面提到的相关组件与Spring Cloud已经可以无缝连接,如果你使用Maven作为构建工具的话,只需要引入你想要的依赖,并在代码上加上相关的注解,或者在配置文件中输入你想要的配置,可以说是分分钟搞定一个微服务的框架 。今天小编就来介绍一下搭建基于Spring Cloud的微服务框架是多么简单 。
1、 搭建工程 。
1.1、任意位置创建一个目录spring-cloud,在此目录下创建一个文本文件,取名pom.xml 。
10分钟搭建基于Spring Cloud的微服务框架

文章插图
 
1.2、 IDEA打开spring-cloud工程 。你的第一个Spring Cloud微服务框架工程搭建完成啦!
2、 服务注册与发现Eureka Server 。
【10分钟搭建基于Spring Cloud的微服务框架】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 。
10分钟搭建基于Spring Cloud的微服务框架

文章插图
 
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后续文章再行介绍 。




    推荐阅读