31、微服务开发:技术与政治的双重挑战

微服务开发:技术与政治的双重挑战

1. 微服务技术应用

1.1 购物车添加优惠券示例

以下是一个向购物车添加优惠券的消息示例:

{ 
  "role": "cart", 
  "cmd": "add", 
  "item": { 
    "type": "dynamic",
    "name": "Discount", 
    "reduce": 10 
  } 
}

此示例展示了在存在依赖关系时如何使用细化策略。通过向现有服务(如购物车)引入最少的额外功能(添加动态项目),并利用新的微服务处理大部分新工作(如优惠券查找和验证),购物车可添加动态项目以实现折扣。

1.2 处理横切关注点

细化的另一个示例是引入横切关注点,如缓存、跟踪、审计、权限等。以产品页面的产品详情查找为例,简单系统有一个面向数据持久层的微服务,更完善的系统会有缓存服务拦截产品详情查找消息以检查缓存,而更实际的系统会使用缓存通知拦截器服务,该服务不仅进行缓存查找,还会发出异步观察消息,让其他感兴趣的微服务知晓用户查看了产品页面,跟踪微服务可收集查看统计信息进行分析。

1.3 细化策略的优势

细化策略是使用模式匹配作为消息路由方法的主要原因。它允许编写通用微服务,避免增加复杂性,每个新功能都可以作为新的特殊情况微服务交付。这有助于减少组件之间的不必要耦合和技术债务的增长,使软件组件避免了解过多无关信息,控制数据结构的复杂性。

1.4 微服务迁移要点

在微服务开发中,迁移单体应用是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值