云原生的概念主要是基于容器云,其主要原则是,软件产品从设计、开发到交付,全流程都考虑适配容器云的环境。传统的开发,是本地开发与测试,测试环境再次测试,然后部署上线,如果有上容器的需求,那么再编写Dcokerfile,做容器化改造,最后部署到容器云上云原生的产品,开发,测试和上线都是完全兼容容器云的环境,例如通过EclipseChe镜像开发,提交到git上,从nexus拉取基础镜像,与代码进行编译成应用镜像,在经过功能测试和代码检查后,再部署上线云原生可以理解为云计算的升级版,云计算的概念在aws最开始提出来时,强调的是计算能力,而现在上云的应用需求越来越多,已不仅仅是计算,也包括存储,中间件等,所以云原生的概念被提出,各大厂商联合成立云原生计算基金会,专门管理云原生的相关产品下云原生是一种方法,用于构建和运行充分利用云计算模型优势的应用。云计算不再将重点放在资本投资和员工上来运行企业数据中心,而是提供无限制的按需计算能力和根据使用情况付费的功能,从而重新定义了几乎所有行业的竞争格局。IT 开销减少意味着入行的壁垒更低,这一竞争优势使得各团队可以快速将新想法推向市场,这就是软件正在占据世界,并且初创公司正在使用云原生方法来颠覆传统行业的原因。但是,企业需要一个用于构建和运行云原生应用和服务的平台,来自动执行并集成 DevOps、持续交付、微服务和容器等概DevOps 是软件开发人员和 IT 运营之间的合作,目标是自动执行软件交付和基础架构更改流程。它创造了一种文化和环境,可在其中快速、频繁且更可靠地构建、测试和发布软件。持续交付使得单个应用更改在准备就绪后即可发布,而不必等待与其他更改捆绑发布或等待维护窗口期等事件。持续交付让发布行为变得平淡可靠,因此企业可以以更低的风险频繁交付,并更快地获得最终用户的反馈,直到部署成为业务流程和企业竞争力必不可少的组成部分。微服务是将应用作为小型服务集合进行开发的架构方法,其中每个服务都可实施业务功能,在自己的流程中运行并通过 HTTP API 进行通信。每个微服务都可以独立于应用中的其他服务进行部署、升级、扩展和重新启动,通常作为自动化系统的一部分
同样的道理,系统里的其他模块也是包含多个业务领域的内容,如果一个业务领域的需求发生了变化,比如说,订单要增加一个新的状态,那么所有涉及该订单的模块都要知道这个变化,并要做出相应的调整。这就要求,每个开发者都是全知全能的,对所有业务都了如指掌,我们知道,这是不可能的。每个业务都有其本身的专业性,比如订单业务、商品业务、支付业务,它们的数据模型和业务逻辑都相当复杂,构成了一个个相对独立的业务领域。如果我们是按照业务流程来划分系统模块,结果是把不同业务混在了一个模块里,所以,这种模块划分的方式并没有降低总的业务复杂更多咨询:https://www.yuque.com/docs/share/ae6cf217-735a-4d19-b8bf-e92acbb8e952?#(提取码:afbg)