分布式开发2024
心得
- 分布式架构最好把rest统一放到1到2个微服务呢,实现方法写单独的微服务实现。这样前端可以通过nginx,也可以通过网关直接访问这1到2个rest服务。这样总比把rest分散在每一个微服务内更方便管理一些。
- 要想学会一样东西,只能犯错误,在错误中去体验和总结问题。决定一个人高度的因素就是你的试错成本,如果你没有试错成本那么你就寸步难行,如果你的试错成本比别人多,那么你就可以超过很多人。
方案
- 分布式事务干掉了一大批面试者
- SpringBoot整合OAuth 2.0 这个就是在微服务体系中,有一个服务单纯的提供认证服务,经过认证后,每个服务不在单独的进行登录注册,有认证服务进行统一管理。
- 分布式锁,有zk和redis二种实现方式
- 利用redis有一个框架Redisson 来实现
- 分布式事务的解决方案 分布式事务详解-Seata
- 通过springCloud的组件Seata来解决,这个是分布式项目问题解决框架
- 通过自己来实现,
- 比如多个模块,采用二阶段提交的策略,可以在数据库运用事务,或者把中间数据保存到缓存中,如果全部可行就执行操作,如果无法执行的模块,执行回滚。并且自己实现的时候要注意幂等性,就是多次操作和一次操作结果相同,实现多采用预判断看结果是否执行过。
- 事务补偿机制,把添加的删除,把删除的添加回来。
- 消息队列实现最终一致性