Spring cloud 尝试使用 consul 作为服务注册和发现
springCloud是基于SpringBoot的一整套实现微服务的框架。
它提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。
微服务是什么?假如让你设计一个简单的打车软件你会怎么设计呢?整体应用?
我们可以把一个打车软件拆分为几个为服务,分别开发:用户服务;车辆管理服务;Oauth权限认证服务;支付服务;地址服务;邮寄服务.....
这样有必要吗?有什么好处呢?
-
它解决了复杂性的问题
-
这种架构使得每个服务可以由单独的团队独立开发,这些团队可以专注于某个服务
-
微服务架构模式使得每一个微服务能被独立部署
-
微服务架构模式使得每一个服务都可以被独立扩展
-
服务之间只是接口调用,非常利于扩展,天然的低耦合。
到这里应该不用说,有过开发经验的基本都会认同微服务架构。因为在之前的整体应用中,我们被庞大的老旧代码折磨到奔溃,谁也不想面对庞大的无注释的老旧怪兽。
微服务设计原则:
-
单一职责原则
-
服务自治原则
-
轻量级通信原则
-
微服务粒度(项目根据业务规划接口,每个接口最好只实现一种功能,单一,高内聚)
微服务简介:https://blog.youkuaiyun.com/u012256142/article/details/82839728
本篇的开源:https://github.com/TorGor/spring-cloud-consul.git
需要使用 Eureka 作为注册中心的,可以看我的另一个开源,github 地址;
地址:https://github.com/TorGor/spring-cloud-microservice-cluster
Spring cloud consul 官方文档:https://springcloud.cc/spring-cloud-consul.html
安装 consul
下载:https://www.consul.io/downloads.html
下载所需要的版本,我的为Win-64:
配置所需要的环境变量:
cmd 命令窗口执行:consul agent -dev
consul 自带 UI 界面,打开网址: