摘要:介绍这一系列文章旨在描述面对一个从零开始的应用的时候如何去搭建一个业务无关的平台承载上层应用流量这里要强调这个平台的几个特点业务无关性无论业务的形态如何均可以在此架构之上运行这里可能会面临若干情况如无状态服务长连接服务等后续会根据场景运行描
介绍
这一系列文章, 旨在描述面对一个从零开始的 B(C)/S 应用的时候, 如何去搭建一个业务无关的平台, 承载上层应用流量. 这里要强调这个平台的几个特点:
业务无关性: 无论业务的形态如何, 均可以在此架构之上运行, 这里可能会面临若干情况, 如无状态服务, 长连接服务等, 后续会根据场景运行描述, 但是这些场景可以看作是一个有限集.
可扩展性: 这里的扩展性特指两个方面, 一是业务的扩展, 二是流量的增加, 这两者对于任何一个平台而言, 都是要着重考虑的.
业务根据不同的指标, 可以分为若干类, 这里期望通过两种指标来描述这一系列文章想要覆盖的场景, 以说明业务无关性:
根据状态: 分为无状态服务和有状态服务
根据实时性: 分为异步与实时应用
这两个指标可以任意组合, 但是最常用的组合应该是属于无状态-异步及有状态-实时应用了, 但是通常也会有无状态-实时应用存在, 比如对于一个博客系统, 可以认为其是一个无状态-异步应用, 而一个一对一的聊天应用, 则可以看作是无状态-实时应用, 而大多数在线游戏, 则是有状态-实时应用, 需要注意的是, 业务场景不会严格按照上述概念进行区分, 最终大多都会形成一个无状态与有状态, 异步与实时共存的状态.
微服务化是满足扩展性的基石, 这也是文章会首先描述的一个整体性架构, 单机应用会在后期引发若干难以解决的问题, 所以这是一开始就需要考虑到的事情.
文章会主要描述以下几个部分:
应用分支与模块化
持续集成
有状态的长连接应用扩展性设计
Web 端构建与模块化
微服务的存在, 致使应用分散在若干服务器集群中, 如何有效管理集群是一个比较庞大的话题, 但是目前业界已经有了比较一致的具有完备性的技术方案, 如k8s, rancher等, 特别是云服务商的出现, 掩盖了硬件管理这个最复杂的环节, 所以这里不会去讨论关于容器编排相关的话题.
应用分层与模块化文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/73846.html
摘要:介绍这一系列文章旨在描述面对一个从零开始的应用的时候如何去搭建一个业务无关的平台承载上层应用流量这里要强调这个平台的几个特点业务无关性无论业务的形态如何均可以在此架构之上运行这里可能会面临若干情况如无状态服务长连接服务等后续会根据场景运行描 介绍 这一系列文章, 旨在描述面对一个从零开始的 B(C)/S 应用的时候, 如何去搭建一个业务无关的平台, 承载上层应用流量. 这里要强调这个平...
摘要:介绍这一系列文章旨在描述面对一个从零开始的应用的时候如何去搭建一个业务无关的平台承载上层应用流量这里要强调这个平台的几个特点业务无关性无论业务的形态如何均可以在此架构之上运行这里可能会面临若干情况如无状态服务长连接服务等后续会根据场景运行描 介绍 这一系列文章, 旨在描述面对一个从零开始的 B(C)/S 应用的时候, 如何去搭建一个业务无关的平台, 承载上层应用流量. 这里要强调这个平...
摘要:分层优缺点优点在无需过多了解其他层次的基础上,可以将某一层作为一个有机整体来理解可以替换某层的具体实现,只要前后提供的服务相同即可可以将层次间的依赖性减到最低分层有利于标准化工作一旦构建好了某一层次,就可以用它为很多上层服务提供支持缺点层次 1. 分层优缺点: 1)优点: 在无需过多了解其他层次的基础上,可以将某一层作为一个有机整体来理解; 可以替换某层的具体实现,只要前后提供的服务...
摘要:什么是架构,什么是架构师这似乎是聊架构话题时永恒的问题。代码写的好就是架构吗显然不是。一个架构师需要足够的技术的宽度。 什么是架构,什么是架构师?这似乎是聊架构话题时永恒的问题。代码写的好就是架构吗?显然不是。代码写的好只是表象,做所有事情都需要规划,尤其是一个复杂的软件系统,这更需要规划,否则可能连一行代码都写不出。复杂...
阅读 1682·2019-08-30 15:54
阅读 3332·2019-08-26 17:15
阅读 3522·2019-08-26 13:49
阅读 2582·2019-08-26 13:38
阅读 2291·2019-08-26 12:08
阅读 3034·2019-08-26 10:41
阅读 1368·2019-08-26 10:24
阅读 3375·2019-08-23 18:35