软件开发微服务

微服务查询?

应用程序需要各种查询,在单体应用中,因为同一个数据库,使用一个服务可以搞定,
但是拆分多个服务时,查询通常需要检索分散在多个服务拥有的数据库中,有web调用、app调用、第一方调用,每个客户端返回参数还不一样,比如查询客户订单,A客户端返回只需要订单id、时间和金额;B客户端需要订单条目。在微服务架构如何实现?

参与6

2同行回答

尘世随缘尘世随缘技术总监上海某互联网金融公司
这是一个很好的问题,在微服务架构中比较容易出现。针对你这个疑问,可以先将项目划分为原子层(实现数据操作,和业务无关),聚合层(对面的端提供服务)。app端和web端由不同的聚合成提供服务,但是由同一个原子层提供数据支持,这样就解决各端依赖的数据不一致的问题。...显示全部

这是一个很好的问题,在微服务架构中比较容易出现。针对你这个疑问,可以先将项目划分为原子层(实现数据操作,和业务无关),聚合层(对面的端提供服务)。app端和web端由不同的聚合成提供服务,但是由同一个原子层提供数据支持,这样就解决各端依赖的数据不一致的问题。

收起
互联网服务 · 2022-08-07
浏览738
GoldenDBGoldenDB产品经理中兴通讯
在微服务架构中,实现查询需要考虑以下几个方面:数据库设计:在拆分多个服务时,每个服务应该拥有自己的数据库,并且这些数据库之间应该是独立的。这样可以避免数据冗余和数据冲突的问题。同时,为了方便查询,可以在每个服务中设计一个公共的表或者视图,用于存储跨服务的共享数据。AP...显示全部

在微服务架构中,实现查询需要考虑以下几个方面:

  1. 数据库设计:在拆分多个服务时,每个服务应该拥有自己的数据库,并且这些数据库之间应该是独立的。这样可以避免数据冗余和数据冲突的问题。同时,为了方便查询,可以在每个服务中设计一个公共的表或者视图,用于存储跨服务的共享数据。
  2. API设计:在设计API时,需要考虑到不同客户端的需求。对于只需要订单id、时间和金额的A客户端,可以只返回这三个字段;对于需要订单条目的B客户端,则需要返回更多的字段。此外,还需要考虑到不同客户端的数据格式和编码方式是否一致。
  3. 查询优化:在微服务架构中,由于服务之间的调用可能会涉及到网络延迟等问题,因此需要对查询进行优化。可以使用缓存技术来减少数据库的访问次数,使用索引来提高查询效率等。
  4. 服务治理:在微服务架构中,服务治理是非常重要的一环。可以通过服务注册中心来管理服务的发现和负载均衡,通过配置中心来管理服务的配置信息,通过监控中心来监控服务的运行状态等。

    总之,在微服务架构中实现查询需要综合考虑数据库设计、API设计、查询优化和服务治理等方面,以确保查询的高效性和可靠性。

收起
电信设备制造商 · 2023-07-13
浏览370

提问者

wanrongwei
系统架构师亚信科技
擅长领域: 数据库服务器存储

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2022-08-03
  • 关注会员:3 人
  • 问题浏览:1264
  • 最近回答:2023-07-13
  • X社区推广