服务化与微服务(转)

1 . 互联网架构为什么要做服务化?

      1)架构痛点

            架构痛点一:代码到处拷贝

            架构痛点二:复杂性扩散,例如:各个业务线都需要关注缓存的引入导致的复杂性

            架构痛点三:库的复用与耦合

            架构痛点四:各个业务SQL质量得不到保障,业务相互影响

            架构痛点五:疯狂的DB耦合

      2)服务化的优点

            好处一:调用方爽

            好处二:复用性,防止代码拷贝

            好处三:专注性,屏蔽底层复杂度

            好处四:SQL质量得到保障

            好处五:数据库解耦

            好处六:提供有限接口,无限性能       

 

2. 微服务架构多“微”才合适?

    粒度粗细的优劣

    上文中谈到的服务化与微服务,不同粒度的服务化各有什么优劣呢?

    总的来说,细粒度拆分的优点有:

   (1)服务都能够独立部署

   (2)扩容和缩容方便,有利于提高资源利用率

   (3)拆得越细,耦合相对会减小

   (4)拆得越细,容错相对会更好,一个服务出问题不影响其他服务

   (5)扩展性更好

   (6)…

    细粒度拆分的不足也很明显:

   (1)拆得越细,系统越复杂

   (2)系统之间的依赖关系也更复杂

   (3)运维复杂度提升

   (4)监控更加复杂

   (5)出问题时定位问题更难

   (6)…

    个人觉得,以“子业务系统”粒度作为微服务的单位是比较合适

 

3. 

 

posted @ 2018-04-28 22:41  Jtianlin  阅读(1535)  评论(0编辑  收藏  举报