课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
云原生编程架构随着互联网的不断发展而被众多程序员掌握并应用,而今天我们就通过案例分析来了解一下,云原生架构开发需要关注哪些问题。
随着云原生技术的兴起,现在企业级架构就更加的云化,而云化的架构风格有了新的关注点:弹性边界。弹性边界是一个云原生企业级应用架构的核心概念,它指把弹性作为优先的考虑要素而划定的系统边界,决定了我们是否能够充分发挥云原生平台的全部能力。于是我们就需要新的方法来弥补以前业务模型的不足,以满足新的云原生化的需要。现在可以说,微服务基本上就是以云原生架构作为基础,而在固定弹性的平台上使用微服务架构,有极高的实施成本。可以说,云原生实际上就应该是微服务的前置条件。
在云原生时代,我们需要将弹性作为要考虑的因素,纳入建模的考量。那么弹性边界,就是我们划分系统的重要依据。而且,我们还需要考虑弹性边界间的依赖关系,尽量避免弹性耦合。对于业务建模来说,为了配合云原生时代的架构,我觉得要做到如下几点:
确立一种模型结构能够反映弹性边界,而这时候需要考虑不同弹性边界的原则来划分界限上下文;如果两个上下文明显具有不同的弹性诉求,那就应该拆分。而如果具有一致的弹性诉求,可以考虑先不拆。那这个时候拆分微服务到底能多“微”呢?简单说就是“微”到能够更好的利用弹性来控制成本的大小。
从异步模型的视角,去优化业务逻辑;就是MQ消息队列系统,由于有broker,所以生产者和消费者不必在同一时间都保持可用性以及相同的吞吐量,而且生产者也不需要马上等到回复。
位置的松耦合:就是服务注册中心,消费端完全不需要直接知道提供端的具体位置,而都通过注册中心来查找服务来访问。
在弹性边界切分业务上下文时,同一个弹性边界内部维护业务强一致性。
在异步调用产生中间态异常时,需要维护业务终一致性。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。