【从零开始学微服务】06.微服务架构的建设思路

2023-11-03 05:59

本文主要是介绍【从零开始学微服务】06.微服务架构的建设思路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家好,欢迎来到万猫学社,跟我一起学,你也能成为微服务专家

微服务看起来很美,但其实是需要一个技术体系或平台体系来支撑并且落地的。微服务架构建设分为两种思路:

  • 框架模式
  • 服务网格(Service Mesh)模式

接下来我们对上面的两个思路进行详细的介绍和对比。

框架

框架模式的典型代表是 Spring Cloud,Spring Cloud 是基于 Spring Boot 的一整套微服务开发框架,专注于为典型用例提供良好的开箱即用体验,并提供覆盖其他用例的扩展机制。

框架模式的底层运行平台可以是物理实体机或 PaaS 平台,也可以是 Kuberneters 平台或 Docker 容器。

框架模式的优势

面向应用和开发人员,定制化、协议支持灵活,适合完全自治的服务状态,方便线下调试,对操作系统平台无依赖。

框架模式的不足

对业务是侵入性的,应用需引入额外的框架或SDK包;需要构建微服务基础设施做业务能力支撑。

服务网格(Service Mesh)

Istio 是服务网格(Service Mesh)模式的典型代表。Istio 扩展了 Kubernetes ,使用强大的 Envoy 服务代理建立可编程的、感知应用程序的网络,为复杂的部署带来了标准的、通用的流量管理、遥测和安全性。

虽然在Istio的官方文档上写着可以同时支持 Kubernetes 和传统工作负载,但实际上 Istio 更适合在 Kubernetes 上运行,在物理实体机或 PaaS 平台上有一些局限性。

ServiceMesh 模式的优势和不足与 SDK 模式正好相反。

服务网格的优势

不需要额外引入框架或 SDK 包,对应用无侵入,且对 Kubernetes 天然友好支持;对流量的管控有着非常大的优势。

服务网格的不足

部署比较复杂,对底层系统有一定的依赖;通讯协议类型支持受限,对 Mesh 平台的依赖度高;对于分布式场景下的复杂度问题没有很好的解决手段。

总结

基于框架模式的微服务建设方案已经非常成熟,国内最知名的就是 Spring Cloud 、 Spring Cloud Alibaba 、 Dubbo等等,而基于服务网格(Service Mesh)的建设方案目前各个大厂也都有尝试和落地,但是要求也更高。

最后,感谢你这么帅,还给我点赞


《从零开始学微服务》总目录

  • 【从零开始学微服务】01.微服务的过去与现在
  • 【从零开始学微服务】02.初识微服务
  • 【从零开始学微服务】03.软件架构的演化过程
  • 【从零开始学微服务】04.微服务架构的特点
  • 【从零开始学微服务】05.微服务的优势和不足
  • 【从零开始学微服务】06.微服务架构的建设思路
  • 【从零开始学微服务】07.微服务常用的开发框架
  • 【从零开始学微服务】08.引入微服务架构的时机
  • 【从零开始学微服务】09.为什么需要服务注册发现?

这篇关于【从零开始学微服务】06.微服务架构的建设思路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/336088

相关文章

Python实现快速扫描目标主机的开放端口和服务

《Python实现快速扫描目标主机的开放端口和服务》这篇文章主要为大家详细介绍了如何使用Python编写一个功能强大的端口扫描器脚本,实现快速扫描目标主机的开放端口和服务,感兴趣的小伙伴可以了解下... 目录功能介绍场景应用1. 网络安全审计2. 系统管理维护3. 网络故障排查4. 合规性检查报错处理1.

Nginx概念、架构、配置与虚拟主机实战操作指南

《Nginx概念、架构、配置与虚拟主机实战操作指南》Nginx是一个高性能的HTTP服务器、反向代理服务器、负载均衡器和IMAP/POP3/SMTP代理服务器,它支持高并发连接,资源占用低,功能全面且... 目录Nginx 深度解析:概念、架构、配置与虚拟主机实战一、Nginx 的概念二、Nginx 的特点

nacos服务无法注册到nacos服务中心问题及解决

《nacos服务无法注册到nacos服务中心问题及解决》本文详细描述了在Linux服务器上使用Tomcat启动Java程序时,服务无法注册到Nacos的排查过程,通过一系列排查步骤,发现问题出在Tom... 目录简介依赖异常情况排查断点调试原因解决NacosRegisterOnWar结果总结简介1、程序在

CPython与PyPy解释器架构的性能测试结果对比

《CPython与PyPy解释器架构的性能测试结果对比》Python解释器的选择对应用程序性能有着决定性影响,CPython以其稳定性和丰富的生态系统著称;而PyPy作为基于JIT(即时编译)技术的替... 目录引言python解释器架构概述CPython架构解析PyPy架构解析架构对比可视化性能基准测试测

MySQL集群高可用架构的两种使用小结

《MySQL集群高可用架构的两种使用小结》本文介绍了MySQL的两种高可用解决方案:组复制(MGR)和MasterHighAvailability(MHA),文中通过示例代码介绍的非常详细,对大家的学... 目录一、mysql高可用之组复制(MGR)1.1 组复制核心特性与优势1.2 组复制架构原理1.3

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

Java服务实现开启Debug远程调试

《Java服务实现开启Debug远程调试》文章介绍如何通过JVM参数开启Java服务远程调试,便于在线上排查问题,在IDEA中配置客户端连接,实现无需频繁部署的调试,提升效率... 目录一、背景二、相关图示说明三、具体操作步骤1、服务端配置2、客户端配置总结一、背景日常项目中,通常我们的代码都是部署到远程

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python