最佳实践的总结

林林总总说了这么多的微服务架构相关的知识也好,经验也罢,不一定适合每个希望做微服务系统的技术人员的实际需求。“道无常道,法无常法,君子审时度势,自可得而法”。实际项目里需要做哪些工作,采取哪些策略,先后运用哪些步骤,都需要因地制宜,借鉴各种“他山之石”,综合考虑。

微服务架构的最佳实践,其实就是把微服务架构的条条框框都思考一遍,这一条到底解决了什么问题,适用于什么场景,对我现在的工作有没有帮助,考虑清楚了以后彻底的忘掉这些“有为法”。然后用自己的思考成果去解决工作中遇到的各类问题,就算是真正学会了微服务。问题永远存在,解决掉遇到的问题,是推动技术发展,促进组织进步,提升个人技术能力的不二法门。

过去的几十年里,技术发展的越来越丰富,体系越来越庞大,业务系统越来越复杂,正像是《人月神话》中形容的那样:

“史前史中,没有别的场景比巨兽们在焦油坑中垂死挣扎的场面更令人震撼。上帝见证着恐龙、猛犸象、剑齿虎在焦油中挣扎。它们挣扎得越猛烈,焦油纠缠得就越紧,没有任何猛兽足够强壮或具有足够的技巧,能够挣脱束缚,它们最后都沉到了坑底。”

如何才能逃离“焦油坑”,目前看来使用“微服务架构”的指导思想,去解决复杂业务系统研发中的各类问题,是一个明确的解决办法。没有什么比去解决实际问题、让系统变好更重要。系统变好了,我们的技术也变好了,公司的业务也支持的更好了,业务好了则行业也发展的更好了,行业好了就会让整个国家和民族都更好了。所以,解决问题是关键。

万维钢老师在《精英日课》里说“这个世界上的问题,分为三类”:

第一类是目标明确、路径明确的,比如你上高中的时候,你知道把几门功课都学好,就能上个好大学,这就是一个单纯问题,但是可以看到,单纯问题也可能是非常难的。钱能直接解决的问题,一般也是这类问题。

第二类是两难问题,选择就意味着放弃,比如两个女孩喜欢你,一个有钱,一个漂亮,选了有钱的就不漂亮,选了漂亮的就没有钱。路径很明确,但你面临的痛苦不是因为问题很难,而是不管你怎么处理,都需要付出失去的代价,放弃潜在的另一些可能,会在将来造成实际的损失。你跟小张结了婚,10 年后天天吵架,后悔没有取晓丽,红玫瑰与白玫瑰。

第三类问题,我们叫棘手问题,这类问题,即可能没有特别明确的目标,而且也没有任何人能告诉你一个明确的路径,你现在做了什么努力,可能也短时间看不到效果,做好了不一定有很大成果,做不好肯定要背锅。大家可能都知道这个问题在,就是没有人去解决或者能去解决。最关键是,从外部的一些人看来,这些问题,很像是一个单纯问题。这特么就扯淡了。

而现在看来,微服务架构的这些知识和实践,包括最近几年大家在响应式微服务架构(Reactive MicroServices Architecture)、服务网格(Service Mesh)做得一些工作,恰恰就是给怎么去处理“复杂业务系统研发”这个棘手问题,带来了一个比较明确的路径,指引着大家逐渐的把这个棘手问题变成一个单纯问题,然后用各种新的思想和武器去解决它。

最后给大家分享一个今天看到的微服务和中台的段子:

Q:大师大师,微服务拆多了怎么办?

A:那就再合起来啊。

Q:那太没面子了啊。

A:你就说你已经跨越了微服务初级阶段,在做中台了。

参考材料

  1. 《高可用可伸缩微服务架构:基于 Dubbo、Spring Cloud 和 ServiceMesh》,程超,梁桂钊,秦金卫,方志斌,张逸 ... 著,https://item.jd.com/12585284.html,https://msainaction.github.io

  2. 《软件架构发展历程分享》,kimmking,https://gitbook.cn/gitchat/activity/5a795024b939c9068a20dd37

  3. 《Microservices: a definition of this new architectural term》,James Lewis,Martin Fowler,https://martinfowler.com/articles/microservices.html

  4. 《Microservices Guide》,James Lewis,Martin Fowler,https://www.martinfowler.com/microservices/

  5. 《什么是微服务》,Chris Richardson,https://www.nginx.com/blog/introduction-to-microservices/

  6. 《什么是反应式微服务?》,Jonas Bonér, Co-Founder & CTO, Lightbend, Inc.,https://www.oreilly.com/ideas/what-is-a-reactive-microservice

  7. 《Reactive Microservices Architecture: Design Principles For Distributed Systems》,Jonas Bonér, Co-Founder & CTO, Lightbend, Inc.,https://www.lightbend.com/ebooks/reactive-microservices-architecture-design-principles-for-distributed-systems-oreilly

  8. 《使用聚合、事件溯源和 CQRS 开发事务型微服务(第一部分)》,Chris Richardson,https://www.infoq.cn/article/microservices-aggregates-events-cqrs-part-1-richardson

  9. Peter Lawyer 博客,https://vanilla-java.github.io

  10. 微服务性能,Peter Lawyer,https://vanilla-java.github.io/2016/03/22/Micro-services-for-performance.html

  11. 《著名的推特论战:Microservices vs. Monolithic》,TodHoff,https://www.csdn.net/article/2014-08-06/2821078

  12. 《微服务设计》,Sam Newman,https://info.thoughtworks.com/Building-Microservices-Book-Sam-Newman-book-chapter-confirmation-page.html

  13. Unix 哲学,https://en.wikipedia.org/wiki/Unix_philosophy

  14. 《管理的常识》,陈春花

  15. 《反应式设计模式》,Roland Kuhn、Brian Hanafee、Jamie Allen

  16. 《数据密集型应用系统设计》,Martin Kleppmann

  17. 分布式事务,张亮,https://shardingsphere.apache.org/document/current/cn/features/transaction/

  18. Apache ShardingSphere,张亮,https://shardingsphere.apache.org

  19. 应该如何理解 Erlang 的「任其崩溃」思想?,程墨 Morgan,https://www.zhihu.com/question/21325941/answer/173370966

  20. 分布式事务的原理综述,https://mp.weixin.qq.com/s/syPKHckm6uZ3TgJYfRnw

  21. 分布式事务解决方案与适用场景分析,https://mp.weixin.qq.com/s/Okvgn5beGy5aJypfu6mKcg

  22. 漫谈分布式事务,长源,https://zhuanlan.zhihu.com/distributedDatabase

  23. 分布式事务,张亮,https://shardingsphere.apache.org/document/current/cn/features/transaction/

  24. Kubernetes(k8s)Pod 弹性伸缩详解与使用,https://www.centos.bz/2017/07/kubernetes-k8s-pod/

  25. Horizontal Pod Autoscaler,https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/

  26. 自动化运维时代,我们该如何是好?,https://www.jianshu.com/p/fc32735105cf

  27. 如何理解持续集成、持续交付、持续部署?,https://www.zhihu.com/question/23444990

  28. 分享一种系统事故&问题处理反馈方式(COE),buguge,https://www.cnblogs.com/buguge/p/7028524.html

微服务架构深度解析与最佳实践 - 第七部分:全文总结与引用材料相关推荐

  1. 微服务架构深度解析与最佳实践

    微服务架构深度解析与最佳实践 微服务架构的概念,现在对于大家应该都不陌生,无论使用 Apache Dubbo.还是 Spring Cloud,都可以去尝试微服务,把复杂而庞大的业务系统拆分成一些更小粒 ...

  2. 微服务架构深度解析与最佳实践-第一部分:微服务发展历程和定义

    微服务架构的概念,现在对于大家应该都不陌生,无论使用 Apache Dubbo.还是 Spring Cloud,都可以去尝试微服务,把复杂而庞大的业务系统拆分成一些更小粒度且独立部署的 Rest 服务 ...

  3. 微服务架构深度解析与最佳实践 - 第五部分:七个应对策略之性能、一致性与高可用

    七个关键问题的应对策略-续 3.关于微服务对性能的影响 大家可以先思考 2 个问题:延迟(latency)和吞吐量(throughout)有什么关系? 延迟是响应时间么? 先说一下延迟和响应时间,延迟 ...

  4. 你知道微服务架构深度解析:微服务的主要特性有哪些吗?

    微服务主要特性 粒度更细的服务 微服务架构相比SOA分布式架构强调按业务边界做细粒度的服务拆分.SOA架构使用粗粒度的服务模式来封装业务和技术能力,减少服务交互,但同时带来了业务耦合的复杂性.而微服务 ...

  5. 25岁阿里120W年薪架构师推荐学习的750页微服务架构深度解析文档

    前言 当前,微服务架构在国内正处于蓬勃发展的阶段,无论是大型互联网公司还是传统的IT企业,纷纷采用微服务架构构建系统. 在过去几年里,DevOps.云原生.面向演进式架构等理念已经深入人心,围绕微服务 ...

  6. 【微服务架构】一文读懂单片到微服务架构的模式和最佳实践

    在本文中,我们将学习如何使用设计模式.原则和最佳实践来设计微服务架构.我们将使用正确的架构设计模式和技术. 在本文结束时,您将了解如何在微服务分布式架构上设计系统以实现高可用性.高可扩展性.低延迟和对 ...

  7. 微服务架构的 10个 最佳实践 !

    论如何正确实施微服务架构的10个技巧? 作者 | Md Kamaruzzaman 译者 | 苏本如,责编 | Elle 出品 | CSDN(ID:CSDNnews) 以下为译文: 微服务架构到底是什么 ...

  8. 微服务架构深度解析:你知道微服务的主要特性有哪些吗?

    ● 粒度更细的服务使每一个服务专注做好一件事情.每个服务完成一个单一任务,在功能不变的情况下,应用被拆分为多个可管理的服务,很好地解决了系统的复杂性问题. ● 粒度更细的服务有助于新人对工程的学习.对 ...

  9. 【架构实践】微服务架构全解析:Scale Cube 横向扩展,垂直扩展,纵向扩展

    目录 微服务架构全解析:Scale Cube 横向扩展,垂直扩展,纵向扩展 前言

最新文章

  1. 2019 年,容器技术生态会发生些什么?
  2. 微信开放平台开发中遇到的问题
  3. SAP系统上线后的变化
  4. load和initialize
  5. 部署FIM 2010 R2—1先决条件准备
  6. linux绑定中文域名,linux shell正则表达式如何匹配域名(包含中文域名)
  7. Python 3.7 即将发布,引入多项新功能!
  8. iPhone平台下的游戏开发
  9. Fixjs——显示基类DisplayObject
  10. 【2021杭电多校赛】2021“MINIEYE杯”中国大学生算法设计超级联赛(4)签到题4题
  11. 语音信号处理(赵力)作业答案1-3章
  12. Js字符串转json
  13. java调用soap接口_java远程调用soap协议接口
  14. java中dao_java中的Dao类是什么意思?
  15. 【Linux 编程】线程绑定 CPU
  16. 为什么要研究《双目结构光》?
  17. 恢复系统设置或计算机点击没反应,win7系统电脑无法使用系统还原,按钮点不开的解决方法...
  18. 【T+】去掉畅捷通T+左边那些不用的云应用
  19. 5.分别画出下列二次曲面
  20. 深入浅出学算法007-统计求和

热门文章

  1. pyqt制作深度学习训练软件
  2. OA协同办公系统功能介绍
  3. Android强行进阶:为何大厂APP如微信、支付宝、淘宝、手Q等只适配了armeabi-v7a/armeabi?
  4. Unity中实现高级相机操作——Cinemachine插件
  5. 启动hfds文件系统,普通用户查看不到jps中的服务进程,但是root用户可以【该问题已经解决】
  6. 单线程顺序爬取图片以及对应的标签
  7. 转载:在阿里工作四个月经历的总结
  8. 取消notepad++打开.bat文件
  9. python网络编程【二】(使用TCP)
  10. 实现“快准狠”交付——小米HR研发团队敏捷实践