微服务⼊门之服务的注册以及服务之间的调⽤
(⼀):必要的理论知识
Spring Clo ud简介
Spr ing Clo
Spring Cloud是⼀个基于Spring Boot实现的云应⽤开发⼯具,它为基于JVM的云应⽤开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集状态管理等操作提供了⼀种简单的开发⽅式。
Spring Cloud包含了多个⼦项⽬(针对分布式系统中涉及的多个不同开源产品),⽐如:Spring Cloud Config、Spring Cloud Netflix、Spring Cloud0 CloudFoundry、Spring Cloud AWS、Spring Cloud Security、Spring Cloud Commons、Spring Cloud Zookeeper、Spring Cloud CLI等项⽬。
微服务架构
“微服务架构”在这⼏年⾮常的⽕热,以⾄于关于微服务架构相关的开源产品被反复的提及(⽐如:netflix、dubbo),Spring Cloud也因Spring社区的强⼤知名度和影响⼒也被⼴⼤架构师与开发者备受关注。
那么什么是“微服务架构”呢?简单的说,微服务架构就是将⼀个完整的应⽤从数据存储开始垂直拆分成多个不同的服务,每个服务都能独⽴部署、独⽴维护、独⽴扩展,服务与服务间通过诸如RESTful API的⽅式互相调⽤。
(⼆):个⼈对微服务的粗浅理解
⽬前我对微服务还处于刚⼊门阶段,我这⾥记录下我此时对微服务的粗浅理解(不⼀定对,希望⼤家指正哈)。微服务是为了解耦以及服务复⽤⽽存在的。⽐如,⼤多数系统都有⽤户注册模块,那么我们可以将⽤户注册模块作为⼀个单独的微服务抽离出来(此处仅作为举例)。微服务的实现可以分成三个模块,画个⽰意图如下
image
从图中我们可以看出,⼀个微服务架构可以分成三个模块,⼀个服务的注册中⼼,⼀个是服务的客户端(即属于EurekaClient项⽬),另⼀个则是提供所有微服务(具体的业务,如⽤户注册逻辑)的模块。当我们把所有的微服务注册到注册中⼼之后,我们需要建⽴⼀个属于EurekaClinet 的项⽬,可以通过DiscoveryClient中的api⽅法来调⽤所注册的服务。这样整个流程⾛通。下⾯我们具体代码实现⼀下
(三):具体代码实现
本次实现使⽤Eureka。它是从属于Spring Cloud Netflix (包含服务发现、断路器和监控、智能路由、客户端负载均衡)的⼦项⽬。
基于我粗浅的理解,下⾯我们具体实现⼀下。我们需要建⽴⾄少三个springboot⼯程,⼀个是服务注册中⼼Eureka-server,⼀个
myweb(EurekaClient⼯程),还有⼀个是⽤户注册的微服务(userreg)。
下⾯我们使⽤Intellij idea中的Spring Initializr来快速构建Spring Boot/Cloud⼯程(这个⽹上可以搜索到,此处就不赘述了)。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论