- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
?
?
一张图,理清微服务架构路线
?
?
-? ? ?我为什么选择微服务架构? ? -
众所周知,单体应用程序,由于其种种不足,几乎不支持敏捷方法。如果你想为一个大型或复杂的业务创建一个软件项目,最好从微服务架构开始。
微服务架构是一种灵活的架构,可以显著性地提高应用程序灵活性、可扩展性等。
-? ? ?微服务架构路线? ? -
据我了解很多开发者,想知道他们应该如何开始微服务架构旅程,虽然有成千上万的资源可以使用,但是资源到处分散。我决定通过为微服务架构学习定义路线图,使这段旅程更加清晰。
-? ? ?基本思路? ? -
基于微服务的架构通常有几个独立的单元,它们协同工作以接收和处理各种请求。这个复杂的某些部分可以是插件,这意味着在需要的情况下,你可以在不干扰应用程序的整体工作情况下, 新增一个新插件或删除一个插件。
例如,如果你决定实现一个微服务架构,你应该熟悉应用程序生命周期中的各种关注点,如持久化、日志记录、监控、负载均衡、缓存等,此外你还应该知道哪些哪些工具比较好或哪些堆栈更适合你的应用程序。
本文,我将从以下几个方面来介绍各种关注点
它是什么?
我为什么要使用它?
哪些工具比较好?
请注意,我在哪些工具比较好部分提到了两三个哪些工具比较好,当然,我们还有很多其他哪些工具比较好,选择这些哪些工具比较好的标准是业务需求,受欢迎程度、性能、开源以及更新频率。
再次注意,我们还有基于云的服务,这不在本文讨论的范围内。
本文,我用上图作为架构图示例。这个图涉及到大部分微服务架构组件,虽然不是也很全面,但是微服务架构的标准模型。
本文将会介绍微服务架构的关注点有:
Docker
容器编排
Docker容器管理
API网关
负载均衡
服务发现
事件总线
日志记录
监控和警报
分布式追踪
数据持久化
缓存
云供应商
-? ? ?Docker? ? -
它是什么:
Docker 是一个开源平台,用于容器化你的应用程序,其中包含你的应用程序在各种环境中运行所需的类库和依赖项。在 Docker 的帮助下,开发团队能够将应用程序打包到容器中。
我为什么要使用它:
实际上,Docker 是容器化应用程序的哪些工具比较好之一,你也可以在不使用 Docker 的情况下创建容器,Docker 的真正好处是使这个过程更容易、更安全、更简单。
哪些工具比较好:Docker
-? ? ?容器编排? ? -
它是什么:
在容器化应用程序后,你将需要一些哪些工具比较好来管理容器化应用程序,以执行一些手动和自动操作,例如水平扩展。
我为什么要使用它:
这些哪些工具比较好为你的应用程序管理提供一些服务,例如自动负载均衡,保证服务的高可用性。
这种服务是通过定义多个管理器节点来完成的,如果一个节点管理器出现任何故障,其他管理器可以保持应用程序服务可用。
哪些工具比较好:
Kubernetes or K8s,Docker Swarm
-? ? ?Docker 容器管理? ? -
它是什么:
管理 Docker 环境、配置、安全等。
我为什么要使用它:
为用户提供了一个基于 GUI 的Docker 容器管理,可以使他们不必处理不舒服的 CLI。这些工具也为开发人员提供了丰富的 UI 来构建和发布他们的镜像,还可以通过提供简化的用户界面来更轻松地执行一些操作任务,例如服务水平扩展。
哪些工具比较好:
Portainer , DockStation, Kitematic,Rancher
-? ? ?API网关? ? -
它是什么:
API 网关可以被视为一种充当你的应用程序服务和不同客户端之间的中间件。API 网关可以管理许多事情,例如:
Routing :网关接收所有 API 请求并将它们转发到目标服务。
Logging :你将能够在一处记录所有请求。
Authorization: 检查你作为用户是否有资格访问该服务,如果没有,可以拒绝该请求
Performance profiling:你可以估计每个请求的执行时间并检查你的应用程序瓶颈。
Caching:通过在网关级别处理缓存,你将消除服务上的大量流量。
事实上,它是作为一个反向代理工作的,客户端只需要知道你的网关,应用服务就可以隐藏起来,不直接向其他系统暴露。
我为什么要使用它:
如果没有 API 网关,你可能需要在每个服务中做一些横切关注点,例如,如果你想记录服务的请求和响应。此外,如果你的应用程序由多个服务组成,你的客户端需要知道每个服务地址,并且在更改服务地址的情况下,应该更新多个地方。
哪些工具比较好:
Kong,Ocelot
-? ? ?负载均衡? ? -
它是什么:
我们选择微服务架构最重要的原因是可扩展性,这意味着我们将能够通过运行更多服务实例来处理更多请求,但问题是,哪个实
您可能关注的文档
- VMware、KVM、Docker如何支撑云技术发展.docx
- Web框架设计,开发效率和性能优化实践.docx
- “东数西算”的利好分析.docx
- 万亿级分布式事务架构的思维模型.docx
- 万物互联时代的操作系统(深度研究).docx
- 三天,揭秘Flink+Hudi+Iceberg数据湖落地系统.docx
- 三种采用PCIe IP的节能技术.docx
- 上云实践:从X86到ARM,跨越CPU架构鸿沟.docx
- 不懂代码,能搭出万级低代码应用平台.docx
- 业务架构师原来是这样的.docx
- Unit4SectionB2a2d课件人教版英语八年级上册.pptx
- 人教版科学三年级下册第二章第3课《植物的身体》ppt课件.pptx
- 人教精通版英语六上Unit2《What’syourhobby》(Lesson9)教学课件.pptx
- 人教版(精通)英语三下Unit2《I’minClassOne》(Lesson11)ppt教学课件.pptx
- 人教版七年级上历史课件第20课北方民族大融合.ppt
- 人教精通版三年级上册Unit2《Thisismypencil》(Lesson8)教学课件.pptx
- 人教版历史九年级上第15课《血腥的资本积累》课件.ppt
- 四川省内江市第一中学2024-2025学年高一上学期开学考试数学试题.docx
- 高考地理一轮复习课件第一部分第四章第一讲营造地表形态的力量.ppt
- Unit5MonthsoftheYearPartA(课件)闽教版英语五年级上册(4).pptx
文档评论(0)