irpas技术客

深入浅出微服务:40个微服务架构实战案例(Dubbo+Springcloud)_m0_64926671_微服务多个实例

网络 979

微服务在近几年来可以说是十分火爆,我们应该知道微服务的发展历程大致分为6个阶段分别是:单体应用阶段提、垂直应用阶段、分布式系统阶段、服务治理阶段、微服务阶段、最后到服务网格阶段。

既然谈到微服务我们不得不说说它的主流框架:

Dubbo

致力于提供高性能和透明化的远程服务调用方案和SOA服务治理方案。

采用了Spring的配置方式。基于Spring的可扩展机制( Schema )可透明化接入应用,对应用没有API侵入,支持API调用方式(官方不推荐)。只需用Spring加载Dubbo的配置即可。

Spring Cloud

是基于Spring Boot的一个快速开发微服务的框架。它提供了以下11个开发微服务所需的一些常见组件。

服务发现断路器智能路由微代理控制总线一次性令牌全局锁领导选举配置管理分布式会话集群状态

这些组件虽然不完全是Spring Cloud自己的产品。但是它通过Spring Boot风格对这些组件进行封装,屏蔽了复杂的配置和实现原理,最终给开发人员提供了一套简单易懂、易部署和易维护的分布式系统开发工具包。

它们两者的区别在于前者使得构建大型系统变得非常容易和低成本。后者主要用于小型项目架构。

服务网格lstio

Istio将流量管理添加到微服务中,提供了连接、安全、管理和监控微服务的方案。

三者对比 dubbo架构图

Springcloud架构图

lstio架构图

细节对比

可以看到Dubbo、Spring Cloud、Istio 都是有效地实现微服务的工具。企业或个人应根据自身的情况选

择合适的架构来解决业务问题。

结合项目背景、提供功能来说,Dubbo 稍逊一筹。

Spring Cloud在现阶段或未来较长时间内是最为稳妥的微服务的框架。

如果是技术上采取激进策略的团队则可以考虑采用Istio。

不知道各位大佬在实际开发过程中用的是哪一个工具(可以在评论区讨论),小编在开发时用的多的是Springcloud,并且咱们程序员在开发过程中碰到的许多问题如果没有周围大牛知道的话都是自己网上查资料,自行解决,属实有点苦逼。小编在开发过程用到的资料也挺多的,下面就为大家介绍一份我觉得不错的Springcloud实战文档,希望对大家有点帮助。

文档主要内容

第1章 进入微服务世界

1.1 系统架构的发展阶段1.2 主流的微服务框架1.3 服务网格(Service Mesh)框架Istio1.4 比较Dubbo、Spring Cloud和Istio

第2章 准备开发环境和工具

2.1 搭建环境2.2 安装和配置Maven2.3 安装及配置开发工具IDEA2.4 安装及配置开发工具Eclipse2.5 熟悉Spring官方开发工具STS2.6 如何使用本书源码

第3章 实例1:用Spring Cloud实现一个微服务系统

3.1 本实例的架构和实现步骤3.2 创建Spring Cloud项目3.3 用Eureka实现“服务中心”3.4 用Eureka实现“服务提供者”3.5 用Feign实现“服务消费者”3.6 测试微服务系统

第4章 认识微服务

4.1 微服务的优点和缺点4.2 微服务设计的原则4.3 领域驱动设计(DDD)4.4 跨服务的事务管理模式4.5 跨服务的查询模式4.6 微服务部署4.7 微服务架构与云原生的关系

第5章 Spring Cloud基础

5.1 了解Spring Cloud生态5.2 了解Spring Cloud5.3 了解注解5.4 了解Starter5.5 使用配置文件5.6 应用程序分层开发模式——MVC5.7 响应式编程——WebFlux5.8 了解Spring Cloud Commons

第6章 用Consul实现服务治理

6.1 为什么需要服务治理6.2 主流的“服务中心”6.3 认识“服务发现”接口6.4 认识Consul6.5 实例5:用Consul实现“服务提供者”集群和“服务消费者”6.6 将“服务中心”从Eureka迁移到Consul

第7章 用Ribbon和Feign实现客户端负载均衡和服务调用

7.1 认识负载均衡7.2 认识Ribbon7.3 认识负载均衡策略7.4 实例7:在没有“服务中心”的情况下,实现自维护的客户端负载均衡7.5 了解Feign7.6 实例8:覆盖Feign的默认配置7.7 实例9:实现在Feign中记录日志7.8 用Feign构建多参数请求

第8章 用Hystrix实现容错处理

8.1 雪崩效应8.2 主流的容错项目8.3 Hystrix处理容错的机制8.4 实例10:在Feign中用Hystrix实现服务调用的容错8.5 实例11:用Hystrix Dashboard实现数据的可视化监控8.6 实例12:用Turbine聚合监控数据

第9章 用Spring Cloud Gateway构建微服务网关

9.1 认识微服务网关9.2 路由(Route)9.3 过滤器(Filter)9.4 实例18:实现路由容错9.5 限流9.6 高可用9.7 Spring Cloud Gateway的端点

第10章 用Spring Cloud Sleuth实现微服务链路跟踪

10.1 微服务链路跟踪10.2 一些开源的链路跟踪项目——Skywalking、Pinpoint、Zipkin和CAT10.3 认识Sleuth和Zipkin10.4 实例21:用Sleuth实现日志采样10.5 实例22:在Spring Cloud中使用Zipkin

第11章 用Spring Cloud Config配置微服务

11.1 了解配置中心11.2 设置配置中心的安全11.3 加/解密配置文件11.4 实例25:用Git配置“配置服务器”11.5 实例26:从客户端获取“配置服务器”放置在Git仓库中的配置文件11.6 实例27:用Spring Cloud Bus自动刷新配置信息11.7 实例28:实现配置中心和配置客户端的服务化

第12章 用Spring Cloud Alibaba组件实现服务治理和流量控制

12.1 认识Spring Cloud Alibaba组件12.2 认识Sentinel12.3 用Sentinel实现Spring Cloud项目的流控和降级12.4 认识Nacos12.5 实例32:用Nacos实现“服务提供者”和“服务消费者”12.6 实例33:用Nacos实现“配置中心”12.7 实例34:用Nacos存储Sentinel的限流规则12.8 实例35:实现Nacos的数据持久化和集群

第13章 用Spring Cloud Security实现微服务安全

13.1 认识Spring Security与Spring Cloud Security13.2 认识OAuth 2.013.3 Spring Cloud Security如何实现OAuth 2.013.4 实例36:用Spring Security实现安全认证和授权13.5 实例37:用OAuth 2.0实现认证和授权13.6 实例38:用MySQL实现Token信息的持久化13.7 实例39:用Redis实现Token信息的持久化

第14章 实例40:用Spring Cloud实现页面日访问量3000万的某平台微服务架构

14.1 本实例的整体架构14.2 实现“配置中心”以提供配置信息14.3 实现“服务提供者”集群、“服务消费者”及客户端自动配置14.4 用OAuth 2.0实现统一的认证和授权14.5 在Spring Cloud中用“Redis+MySQL”实现路由服务器14.6 用Spring Cloud Gateway实现网关集群14.7 用Nginx实现负载均衡14.8 用Spring Boot Admin监控Spring Cloud应用程序14.9 集成“Prometheus+Grafana”以监控服务

第15章 基于Docker、K8s、Jenkins的DevOps实践

15.1 认识DevOps15.2 认识Docker15.3 使用Docker15.4 用Docker Compose管理容器15.5 管理镜像15.6 认识Docker Swarm、Kubernetes(K8s)和Jenkins


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #微服务多个实例 #采用了Spring的配置方式 #基于Spring的可扩展机制 #Schema