课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的软件开发方式被程序员掌握,而今天我们就一起来了解一下,微服务技术应用都有哪些优势。
微服务的一个主流观点是,在每个服务都有自己的缓存和数据库,并且缓存和数据库是相互独立且透明的。因此,共享缓存与共享数据库是不对的。那如果服务A需要获取服务B的数据怎么办?一般的做法是,服务B提供一个获取该数据的API接口,而服务A通过调用该接口进行业务组装。因此,微服务化之后,服务之间的数据交换都是通过接口来开展的,如果服务A越过服务B的业务逻辑之间访问服务B的数据,其会破坏了微服务之间的数据独立性。
其一,那就是旧的服务过渡到新的服务的场景,新的服务复用旧的服务的数据库从而到达功能与数据过渡的需求。
其二,多个服务之间可能依赖于同一个数据源,例如报表的数据聚合。
这种情况下,如果我们单纯的依赖于RPC的接口调用很可能会导致偶发性的调用超时,从而导致故障发生的几率更大。那么,解决这个问题的常用套路就是共享数据,要么通过数据冗余的方式进行数据同步,然后基于本地的服务进行边界内的数据聚合;要么通过抽离数仓方案进行数据的集中化ETL,然后再对外通过加工好的数据。其三,更加现实的成本问题。事实上,更多的数据库会带来更多的经费成本。很多时候,我们也会从经费成本来考虑问题。我们选择复用原来的数据库表,等待业务价值明确之后,再考虑单独独立数据库。
同时,共享数据技术方案可避免数据之间的上下文不明确的情况下代价高昂且重复的数据迁移,并可在需要时更轻松地调整服务粒度,然后在服务粒度稳定之后再进行数据迁移。因此,我们要在两者之间寻求适当的平衡,尽可能遵守微服务的主流观点,充分利用微服务带来的好处。
希望这辈子,最让你无悔的事情就是来达内学习!学习向来不是件易事,但无论过程多么艰难,希望你依然热爱生活,热爱学习!永远记得,达内将与你一同前行!现在扫码,立即领取万元课程礼包,助力0基础快速入行,为你梳理行业必备技能,全方位了解岗位发展前景!
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请在707945861群中学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。