前言
最近笔者在对微服务架构进行学习,参考了各种项目的技术文章、框架文档以及视频网站,最终选择使用Nacos+Dubbo+Gateway+Sentinel来搭建一个项目练手。其中Nacos作为服务的注册发现中心兼配置中心,Dubbo作为RPC通讯框架来实现服务间的接口调用,而Gateway则作为网关,进行客户端请求的转发,熔断服务则使用Sentinel框架。后续会加入ElasticSearch+SpringSession,进行数据的缓存分级,链路追踪则使用Sleuth,其中还会组合分布式事务框架Seata,有兴趣的朋友可以关注一下,项目地址:https://github.com/peachl/cloud-demo/tree/master#readme,长期更新。
集成Gateway网关
回顾项目上次以及集成了Nacos、Dubbo等框架,现在需要在原有项目上进行集成Gateway的操作,还未配置对应的Nacos、Dubbo的朋友可以回顾一下《微服务初体验(一):整合Nacos进行服务注册和项目初始化》、《微服务初体验(二):使用Nacos作为配置中心并集成Dubbo》之前的内容。
之前的项目中已经集成了Gateway这个模块,现在只需要修改Gateway模块对应的Maven依赖和对应的yaml路由转发规则即可。首先打开对应的pom.xml删除其中的多余web依赖,然后引入如下依赖:
org.example
cloud-common
1.0-SNAPSHOT
org.springframework.cloud
spring-cloud-starter-gateway
2.2.4.RELEASE
co