| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 微服务架构系列主题:微服务实现的反模式及正确做法 -> 正文阅读 |
|
[开发测试]微服务架构系列主题:微服务实现的反模式及正确做法 |
前言程序员在程序开发的时候,经常会使用到设计模式,或在面试过程中也经常被提问到设计模式。 所以大家对设计模式比较熟悉了,但大家知道“反模式”吗,什么叫“反模式”?怎样才能避免“反模式”的发生。所以今天的文章,我会从三部分的内容进行讲解。 1. 重新理解一下“模式”和“反模式”的定义 2. 基于微服务实现的“反模式” 3. 微服务的正确做法,来避免“反模式”的发生 1. 重新理解一下“模式”和“反模式”的定义我们看一下“模式”和“反模式”在维基百科的定义。 根据维基百科的定义,设计模式是一套被反复使用,多数人知晓的,经过分类编目的代码设计经验的总结,是软件设计的某些特定场合的某些问题的解决思路。是前人经过大量的实践,总结出来的无论从效率、扩展性、复用性、可靠性等方面都显现出优势的解决思路。 反模式(anti-pattern)指的则是在实践中明显出现,但低效或有待优化的设计模式,是用来解决问题的带有共同性的不良方法。 2. 基于微服务实现的“反模式”以下是我从架构,交付和运维,产品,组织,技术这几个维度总结出来的,微服务实现的“反模式”,供大家借鉴参考。
3. 微服务的正确做法,来避免“反模式”的发生所以针对于以上的微服务实现的“反模式”,以下是微服务应该被实现具备的特性,来避免“反模式”的发生。 微服务应该被实现具备以下特性:
?
服务按照业务能力进行构建
?
服
务是小的,并聚焦的
?
服务内部逻辑被封装,对于其它服务不可见
?
架构需具备可扩展性和弹性
?
服务集成通过正式的
API,
使
用合适的契约,版本,序列化,传输等
?
架构为云做好了准备,即使在短期内没有上云的计划
?
内部服务的通讯模式已确定
?
设计支持通信架构(网关,服务网格等)
?
操作模型被确立:
?
促进去中心化执行
?
促进技术的演进
?
支持跨职能团队基于业务能力进行组织,与业务紧密相关
?
跨职能团队围绕业务能力被组织,被服务支持
?
服务之间彼此独立的开发,交付和运维。
?
优秀的技术实践被使用,例如:
单
元测试,
TDD
,
BDD
等
?
软件交付,测试,运维是自动化的
?
资源分配
是自动化的
?
安
全被积极的管理,并集成到软件的生命周期
所以在使用微服务架构的过程中,需要避免微服务实现的“反模式”发生,这样你才能得到微服务架构带来的好处。
|
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 22:47:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |