微服务应用集成 SpringCloud 步骤
前言
微服务开发模式能够将复杂的业务拆分成独立的更细粒度服务,一定程度上降低了业务复杂度,但是随之而来的是如何保证各个服务的可靠性和稳定性,SpringCloud 出现的目的是为了解决这些在服务拆分后会遇到的通用问题。配置中心能让同一服务多实例间无需重启快速更新配置、注册中心能对应用节点动态管理、网关是为了对 API 做统一的处理等。
步骤
服务发现
默认有已经部署好了 Nacos Server。
引入依赖
|
|
创建 bootstrap.yml 并添加下面的配置
|
|
服务配置
默认有已经部署好了 Nacos Server。
引入依赖
|
|
在 bootstrap.yml 中添加下面的配置
|
|
配置完成后 bootstarp.yml 的样例:
|
|
API 网关
默认 API 网关以部署好并与 nacos 做好了集成,**对外提供动态路由配置、认证、限流等功能。**以 Spring Cloud Gateway 为例。
在 API Gateway 的配置中心中添加路由配置,示例:
|
|
说明:
- id:路由的唯一标识
- predicates:前置判断,符合相应的配置才能交给后面的过滤器
- uri:最终调整的地址
- filters:过滤器集合,这里配了 StripPrefix(跳转后会抹掉 /baidu 这个路径),Auth(开启认证过滤)
监控
计划中,Prometheus + Grafana
链路追踪
计划中,Spring Cloud Sle uth + ZipKin 或者 CAT
熔断
计划中,Spring Cloud Alibaba Sentinel
分布式事务(可选)
目前在 Spring 官方文档中并未将事务纳入 Cloud 中,但是在实际开发中如果需要也可使用。
计划中,Spring Cloud Alibaba Seata
总结
SpringCloud 设计初衷是为了解决微服务治理相关的问题,提供一套开箱即用的组件,让开发者将重点放到服务拆分和设计上。上面介绍的几个组件都是微服务治理体系中必不可少的内容,所以如果想从单体应用转到微服务一定要搭建相应的治理平台,才能保证服务的可靠性和稳定性。
- 原文作者:浮华生
- 原文链接:https://www.ahianzhang.com/post/spring-cloud-intergration/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。