《企业级容器云架构开发指南》—2.1.3 时间考虑和融会贯通

举报
华章计算机 发表于 2019/05/30 16:50:05 2019/05/30
【摘要】 本书摘自《企业级容器云架构开发指南》一书中的第2章,第2.1.3节,编著是闫健勇 龚 正 吴治辉  屈晓萌 王健飞 王 伟 刘晓红。

2.1.3 时间考虑和融会贯通

在了解了如何利用扩展立方体切分X轴、Y轴、Z轴,以及如何切分数据和应用之后,我们常常面临着同时要切分应用和数据的情况,那么是先切分应用,还是先切分数据呢?决定什么时候选择哪种方法或哪个轴进行扩展,是一门科学,也是一门艺术,决定以“应用为主”的架构或是以“数据为主”的架构进行分割的时候也是如此。

如果业务清晰,如何切分应用就很清楚了,可以把这些比较独立的或者无状态的、可扩展的模块切割出来,同时数据也跟着切分了。例如,按照订单、支付、物流单个模块,后面的数据也可以直接一并进行切分。从操作的层面看,一般建议先切分数据,这是因为数据在操作面比应用的切分更简单,可以直接按照某种业务场景进行分库,之后的工作会比给一个单体重新写代码或加很多补丁所做的操作要少,这样一来,可以把数据先分库,这样比较好回退。

那么具体应该何时采用X轴分割、Y轴分割或者Z轴分割呢?理论上并没有具体的时间表可供参考,但在实践中有一些经验可循。在理想情况下,一个技术或者架构团队会根据实际情况选择适合他们的扩展方法,就高交易量、低数据需求、高读写比率的系统而言,最具成本效益的分割方法就是X轴分割。但在客户数据增长、功能复杂度增加和交易量增长同时发生的情况下,该系统可能需要进行3个轴的分割。

综上所述,在当前环境下如何做个好架构,简单来说,就是“拆与合”,先“拆”后“合”。当我们把一个个单体拆解成独立的、小的微服务时,这些微服务可以独立上线、独立发布,有独立的周期,有自己的团队,但如果“合”没做好,还是会遇到很多问题。所以从总体的架构层面来看,我们在“拆”的同时还要考虑“合”,要能够统一监控、统一日志、统一出错管理,能“拆好”又能“合好”,就是一个比较完美的架构。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。