你好,我是程序员 Alan,很快乐遇见你。
在《需要剖析— 高并发场景微服务实战(二)》一文中,我具体梳理了业务需要。置信你对订票零碎的业务需要状况曾经非常分明了。上面我开始零碎设计工作,包含功能模块设计、存储设计、缓存设计、高并发零碎架构设计等,为前面的开发工作提供良好的根底保障。
存储设计
微服务架构格调的一个益处,是持久性的封装。咱们能够依据每个服务的须要,去抉择不同的长久化技术。依据每种数据类型的特点而去抉择数据存储的办法,也就是混合长久化,结构化存储与非结构化存储混合应用。不同服务间应用不同的存储模型,繁多服务中也能够应用混合存储。既然要采纳微服务化构造,从独立开发、运行、部署和运维都是独自的小利用。每个小利用外部业务逻辑解决,到数据库拜访,以及数据库都是独立的。
根据本案例的业务场景,拆分为七个子存储库,别离为:
- airline_member——用户服务库
- airline_ticket_resource——机票资源服务库
- airline_charging——计费服务库
- airline_finance——财务服务库
- airline_message——音讯服务库
- airline_log——日志服务库
理论中有些施行微服务的团队,将服务拆分,但存储库仍旧仍是一份,事实中应该有为数不少的存在。不能说不对,只能说不合乎微服务的倡议。
架构设计
没有最优的架构,只有最合适的架构,所有零碎设计准则都要以解决业务问题为最终目标,并随着业务的倒退,一直进行迭代演进。通过下面业务模块、存储模型的划分,根本的代码架构曾经清晰可见。综合业务模块、微服务架构个性,输入性能架构设计图。
工具汇合 基于总体性能架构图,应用特定的性能组件即可实现相应的性能。
留些问题
存储层的数据库的表构造(数据类型和索引)如何设计?
当数据库成为瓶颈后,动态数据的查问如何应用缓存减速?
零碎架构设计为什么要分层?
站在伟人的肩膀上:
码闻强—SpringCloud 微服务实战