写点什么

架构师培训第 10 周练习

用户头像
小蚂蚁
关注
发布于: 2020 年 08 月 12 日

1、根据微服务框架 Dubbo 的架构图,画出 Dubbo 进行一次微服务调用的时序图。




2、关于微服务(中台架构、领域驱动设计、组件设计原则),你有什么样的思考和认识?

 

   微服务是一种软件开发技术- 面向服务的体系结构(SOA)架构样式的一种变体,将应用程序构造为一组松散耦合的服务。在微服务体系结构中,服务是细粒度的,协议是轻量级的。

   微服务的产生是为了解决单体巨无霸应用编译部署困难、代码分支管理困难、数据库资源耗尽、新增需求困难等一系列问题而产生的,它可以带来如下益处:

   1,根据业务选择合适的技术栈

   2,因为现在的服务都比较小,进行颠覆性改造的成本和难度会小很多

   3,服务集群的水平扩展和收缩非常方便

   4,服务是自给自足的,所以服务底层平台的切换更容易。究竟是使用公有云,还是自己搭建私有云平台。

   5,微服务可以方便的添加新功能,称为一个有机的系统(可以随着时间自己成长)

   6,随着技术的发展演进,我们可以将一个微服务升级应用新的技术,而不需要升级整个系统,和前面的有点重复

   7,在一个微服务中,可以有多个版本的某一服务

   8,可以根据服务的边界,确定团队。在组织划分上便于打造小而专的团队

   不要为了微服务而拆分系统,微服务落地应该遵循如下原则:

   1、业务先行,先理顺业务边界和依赖,技术是手段而不是目的,这一点非常重要。

   2、现有独立的模块,后有分布式服务。

   3、业务耦合严重,逻辑复杂多变的系统进行微服务重构要谨慎。

   4、要搞清楚实施微服务的目的是什么,是为了业务复用,还是开发边界清晰,还是分布式集群提升性能。

  中台架构是支持多个前台业务且具备业务属性的共性能力组织架构。中台架构就是采用微服务架构设计理念,将具备业务属性的共性能力提炼出公共服务,形成中台供前台业务调用。

 领域模型是为解决特点场景下的领域问题而形成的一套模型,然后使用这套模型来解决业务问题。 根据重复劳动经验我们会形成一套模式。通过领域模型的战略设计,可以很好的梳理和划分微服务,是指导微服务划分的方法论。

  组件设计包括的原则:

  1、组件内聚原则

  2、复用发布原则

  3、共同封闭原则

  4、共同复用原则

  5、组件耦合原则

  6、无循环依赖原则

 7、稳定依赖原则

 8、稳定抽象原则

    总之,业务需求才是最重要的,业务人员和开发人员必须通过沟通,需求理解并达成一致之后,才能够梳理出微服务的边界,才能设计出合理的微服务。

 

用户头像

小蚂蚁

关注

还未添加个人签名 2018.08.10 加入

还未添加个人简介

评论

发布
暂无评论
架构师培训第10周练习