分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击人工智能教程大家好!欢迎来到我的网站! 人工智能被认为是一种拯救世界、终结世界的技术。毋庸置疑,人工智能时代就要来临了,科… 继续阅读 前言https://www.captainai.net/troubleshooter

好处一:调用方便
在有服务层之前,业务方访问用户数据,需要通过DAO拼装SQL访问。
有了服务层之后,业务方通过RPC访问用户数据,就像调用一个本地函数一样,非常方便。

好处二:复用性,防止代码拷贝
所有user数据的存取,都通过user-service来进行,代码只此一份,不存在拷贝。
升级一处所有都生效,bug修改一处所有都修改。

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

在没有服务层之前,所有业务线都需要关注缓存、分库分表这些细节。

在有了服务层之后,只有服务层需要专注关注底层的复杂性了,向上游屏蔽了细节。

好处四:SQL质量得到保障

原来是业务访问代码,然后拼接sql访问数据库。

有了服务层之后,所有的SQL都是服务层提供的,业务线不能再为所欲为了。底层服务对于稳定性的要求更好的话,可以由更资深的工程师维护,而不是像原来SQL难以收口,难以控制。

好处五:数据库解耦

原来各个业务的数据库都混在一个大库里,相互join,难以拆分。

服务化之后,底层的数据库被隔离开了,可以很方便的拆分出来,进行扩容。

好处六:提供有限接口,无限性能
在服务化之前,各业务线上游想怎么操纵数据库都行,遇到了性能瓶颈,各业务线容易扯皮,相互推诿。
服务化之后,服务只提供有限的通用接口,理论上服务集群能够提供无限性能,性能出现瓶颈,服务层一处集中优化。

注:服务化不能解决所有问题,如果没有碰到这些问题,架构未必需要服务化。架构设计一定要依托于业务。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐