什么?不知道微服务,一文让你了解微服务
发布于 2024-07-17
682
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
springboot葵花宝典
扫码关注公众号
扫码阅读
手机扫码阅读
微服务概述摘要
今日目标
本文旨在帮助读者了解微服务架构的优缺点,并对其基本概念、演变过程、主要原则及相关技术进行介绍。
1. 微服务介绍
微服务架构是从单体应用演变而来的新型架构模式。传统单体应用将所有功能模块集中在一个工程中,而微服务架构则将应用按照领域模型拆分为多个独立模块。这种架构使每个服务职责清晰,边界明确,提升了服务的独立性、可扩展性,同时允许使用不同的开发语言和数据存储技术。相比单体架构,微服务解决了功能混淆、边界模糊、维护成本高和扩展瓶颈等问题。
微服务架构由Martin Fowler等人提出并发展,其核心是将单体应用拆分为多个小型服务,这些服务通过轻量级通信机制(如RESTful API)进行协调。拆分后的服务围绕具体业务构建,能够独立开发、部署和扩展。微服务架构演进过程中逐渐形成了成熟方案,如SpringCloud和SpringCloud Alibaba。
- 单一职责:每个服务对应唯一业务能力。
- 自治:团队、技术、数据独立,支持独立部署。
- 面向服务:通过接口暴露业务功能。
- 隔离性强:支持容错、降级,避免级联问题。
2. 微服务优缺点
优点
- 便于开发维护:领域模型统一,功能内聚,开发人员专注于特定领域接口。
- 技术栈开放:团队可根据需求选择技术栈,支持灵活性。
- 服务隔离升级:服务独立部署与升级,降低整体架构风险,可通过灰度、降级等技术处理错误。
缺点
- 运维成本高:服务数量增多导致运维复杂度增加。
- 服务调用复杂:链路调用排查困难,容易出现长链路问题。
- 分布式事务问题:事务回滚难度大,分布式环境下实现复杂。
- 学习成本高:涉及中间件、缓存、容器等多方面技术,学习难度较高。
3. 通用微服务技术架构
微服务架构涉及多种技术领域,包括微服务治理、保护、分布式事务、异步通信、缓存、搜索以及DevOps。以下是主要内容:
- 微服务治理:注册发现、远程调用、配置管理、网关路由。
- 微服务保护:流量控制、熔断降级、服务授权。
- 分布式事务:支持TCC模型、AT模型、Seata等技术。
- 异步通信技术:消息队列、数据持久化、可靠消息服务。
- 缓存技术:分布式缓存、OpenResty、Redis等优化方案。
- 搜索技术:分布式搜索和ES集群。
- DevOps技术:Docker、Kubernetes、Jenkins等工具支持。
4. 总结
本文介绍了微服务的基本概念、演变过程、主要原则及优缺点,同时概述了微服务架构的技术实现方案。后续将通过具体技术带领读者学习微服务架构的实践应用。
思考问题
- 什么是微服务?
- 什么是微服务架构?
- 微服务架构的演进过程是什么?
springboot葵花宝典
springboot葵花宝典
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
springboot葵花宝典的其他文章
什么Mysql索引失效,一文教你读懂Mysql索引使用规则和失效原因
一文教你读懂Mysql索引使用规则和失效原因
谈谈你对ThreadLocal的理解
谈谈你对ThreadLocal的理解
Spring Security-2-表单认证
Spring Security-2-表单认证
web-5-深入理解Servlet中的请求与响应对象
在 Servlet 中,请求对象(Request)和响应对象(Response)是处理客户端请求和返回服务器响应的关键对象n
web-3-CSS介绍
HTML学习完以后,以及可以使用HTML开发网页了,但是在呈现的效果上没有那么美观,所以接下来我们要学习CSS,CSS就是可以让我们页面变得更加美观,接下来我们开始学习CSS
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线