前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >系统架构设计—高并发场景微服务实战(三)

系统架构设计—高并发场景微服务实战(三)

原创
作者头像
程序员Alan
发布2022-11-01 13:10:58
3100
发布2022-11-01 13:10:58
举报
文章被收录于专栏:程序员Alan

你好,我是程序员Alan,很高兴遇见你。

在《需求分析— 高并发场景微服务实战(二)》一文中,我详细梳理了业务需求。相信你对订票系统的业务需求情况已经十分清楚了。下面我开始系统设计工作,包括功能模块设计、存储设计、缓存设计、高并发系统架构设计等,为后面的开发工作提供良好的基础保障。

存储设计

微服务架构风格的一个好处,是持久性的封装。我们可以根据每个服务的需要,去选择不同的持久化技术。根据每种数据类型的特点而去选择数据存储的方法,也就是混合持久化,结构化存储与非结构化存储混合使用。不同服务间使用不同的存储模型,单一服务中也可以使用混合存储。既然要采用微服务化结构,从独立开发、运行、部署和运维都是单独的小应用。每个小应用内部业务逻辑处理,到数据库访问,以及数据库都是独立的。

依据本案例的业务场景,拆分为七个子存储库,分别为:

  • airline_member——用户服务库
  • airline_ticket_resource——机票资源服务库
  • airline_charging——计费服务库
  • airline_finance——财务服务库
  • airline_message——消息服务库
  • airline_log——日志服务库

实际中有些实施微服务的团队,将服务拆分,但存储库依旧仍是一份,现实中应该有为数不少的存在。不能说不对,只能说不符合微服务的建议。

架构设计

没有最优的架构,只有最合适的架构,一切系统设计原则都要以解决业务问题为最终目标,并随着业务的发展,不断进行迭代演进。经过上面业务模块、存储模型的划分,基本的代码架构已经清晰可见。综合业务模块、微服务架构特性,输出功能架构设计图。

工具集合

基于总体功能架构图,使用特定的功能组件即可实现相应的功能。

留些问题

  • 存储层的数据库的表结构(数据类型和索引)如何设计?
  • 当数据库成为瓶颈后,动态数据的查询如何使用缓存加速?
  • 系统架构设计为什么要分层?

站在巨人的肩膀上:

  • 码闻强—SpringCloud微服务实战

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 存储设计
  • 架构设计
  • 留些问题
  • 站在巨人的肩膀上:
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档