课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
微服务架构可以说是目前程序员使用比较频繁的一种开发方式了,今天我们就一起来了解一下,目前微服务开发架构是如何进行的。
我们微服务是为了把“大事化小小事化无”,但问题往往是从“小事作大”,如果我们以“微服务”理念从事小捉起,虽不可避免未来不确定性,但至少可以抵御历史风险。从过去经验可以知道,一个系统的成长基本要经历“单体-集群-分布式”的发展模式,前提是你开发的系统生命力足够强大。我们都知道,“微服务”是一种分布式架构,一个小小的应用系统直接“分布式”感觉未免有点“关公刀削苹果”,但如何避免一百个“小生命”当中有那么其中一两个可以粗壮成长所带来的痛楚呢?也就是说,如何用一个“微服务”理念的架构更简单、便捷与高效地去孵化一个个从0到N的关键机会。如果一个系统的每一个发展阶段都需要大动干戈,除了资金成本外,重要的还是时间成本,综合来说,这都是试错成本。这已经不是一个“如何把一个大问题解决”的问题,而是一个“如何解决由一个小问题发展到大问题等一些列问题”的问题。我相信没有天生的大问题,每一个创(chuang)新(ye)都是一个从小到大的试错过程,如何把试错成本降到低,是我为关心的问题,因为机会是留个有准备的人。
简单、便捷以及高效的理想状态就是系统发展过程的一个“趋0变动”。也就是系统从“单体”到“集群”,再从“集群”到“微服务”的发展过程中无须改动(过多)代码即可简单达到各种支撑模式的切换。为了达到这种效果,我想到了“容器”的概念。例如Docker容器或JVM容器,它们提供的只是“单元”运行的环境,轻松聚合和分离单例的运行。从“微服务”理念看,“服务”作为我们业务的“执行单元”,同样可以存在一个微服务应用容器,给个“服务单元”提供轻量级的运行环境,从而达到轻松聚合和分离服务的可能性。
KingWorks-MSAC(微服务应用容器,以下简称“微容器”)是我们KingWorks微服务框架的核心组件,它主要有六大功能特点,分别是映射、驱动、代理、管控、管理以及适配。
映射:按照规则可以根据URI访问路径信息分发到指定的服务处理当中;
驱动:激活每个框架约定下的服务线程执行单元;
代理:代理执行应用六大生命周期模块组件,如初始化模块组件、销毁模块组件、业务前置模块组件、业务逻辑模块组件、业务后置模块组件以及定时器模块组件;
管控:对服务生命周期内的状态进行统一管控,如服务注册、服务注销、服务发现、服务心跳、服务访问限制、服务并发限制以及远程配置同步等状态行为;
管理:对服务信息的统一管理,如服务单元信息、统一配置信息、服务列表信息以及各种服务状态信息;
适配器:服务与“外界”联系的中间件统称“适配器”,如数据量连接组件、Redis连接组件、远程访问。
节选:公众号:wc的一些事一些情
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。