程序开发中微服务架构和容器的结合运用论文
第1篇:程序开发中微服务架构和容器的结合运用论文
程序开发中微服务架构和容器的结合运用论文
摘要:文章分析了微服务架构和容器技术的应用。微服务架构是一种架构概念, 通过将功能分解到各个离散的服务中以实现对解决方案的解耦, 在降低系统耦合的同时, 还提供了十分灵活的服务支持, 这种架构对应用的功能进行了充分的分离, 使开发和部署非常的便捷, 结合容器技术, 最大化地解决微服务架构中所面临的负载, 对微服务进行更有效的支撑。微服务架构中对容器技术的应用主要看中容器的对解决复杂环境和用户资源隔离问题的能力, 这种新的开发方式为开发者提供了一种新的思路。
关键词:微服务; 容器; 共享; 解耦
微服务架构的产生是软件架构不断演进的结果。Web开发经历了单体结构, 集群结构, 分布式系统, 最终演化到微服务架构。微服务架构按照业务划分模块, 实现一个个高度解耦的系统架构, 其中的分布式、快速演化、自动化运维和高容错性这些优点, 受到了大批互联网公司的青睐。在保障软件架构的灵活伸缩, 系统架构分布合理的同时, Docker容器的加入, 进一步降低了微服务的成本, 反过来也使得微服务和容器结合得越来越紧密。特别是云端平台的兴起, 加速了这种趋势[1]。
1 设计架构的演变。
1.1 单体结构。
此时公司业务量比较小, 系统构建并不复杂, 所有的代码, 数据库, 文件都部署在一台机器上, 对系统服务进行常规的应用服务和数据服务分离, 增加缓存可以满足此时的访问量。
1.2 集群结构。
公司业务逐渐增加, 用户量增大, 服务器压力也随之增大, 高峰期已经不能满足用户的操作, 于是增加服务器分担原有服务器的访问和压力, 同时有了负载均衡, 反向代理, 数据库读写分离的应对方案。
1.3 分布式系统。
公司业务继续发展, 用户规模和业务复杂已经到了一个量级, 于是开始把一个系统拆成许多不同的应用, 每个应用进行独立的开发、测试、运维, 应用之间通过消息队列来进行数据分发, 也可以访问同一个数据存储来构成一个关联完整的系统。
1.4 微服务架构。
微服务架构以去中心化为特点。大规模用户的使用需求, 对分布式系统的'要求很高, 并且业务快速发展, 迭代周期很短, 子系统也不需要如原来企业计算分布式那样采用集中式存储, 通常采取前后端分离的方式, 使单个业务系统组件化, 不同的服务之间采用轻量级的交互机制进行交互, 使各个子系统做到有效分割, 结合Docker容器, 使得微服务能进行实际的应用。
2 微服务的特性。
2.1 微服务架构的优势。
2.1.1 降低复杂性。
微服务架构通过分解单体式应用为多个服务方法, 降低了系统的复杂性, 多个子系统的分离实现了组件化, 一个个组件成为可管理的分支或服务, 使其通过模块化的方式呈现出来。通过微服务这种架构模式, 让单个服务更容易开发和维护。
2.1.2 部署的独立性。
每个微服务都具备相对独立的运行进程和业务处理的能力, 所以每个微服务的安装和部署都可以独立进行。在传统的架构中, 如果要对某一程序内的某一功能区进行变更, 就需要对整体架构进行统一的重新建设, 并进行重新部署。而微服务架构在变更时, 由于其单个微服务的独立性, 不需要对整个应用进行编译和部署, 这大大提高了效率, 也降低了对系统环境所造成的风险, 缩短了原有的时间操作周期。
2.1.3 容错性高。
在传统单一的构架中, 如果某一组的应用功能发生故障, 那么系统整体的稳定性就会受到影响, 子系统出现故障, 影响会在其他的子系统中蔓延, 轻的后果是会导致局部的系统受到影响, 部分业务无法得到处理, 严重的后果是导致整个应用系统的崩溃。在微服务构架中, 由于单个服务的独立性, 所以故障的影响可以控制在单个的应用中, 并不会对其他的服务造成影响, 而且微服务中有提前审计的功能, 有多种机制可以保证应用运行的稳定[2]。
2.1.4 技术灵活。
微服务构架有多种技术的选择, 常见的Java, Node Js, Python, React Native都可以实现具体的微服务逻辑, 也可以混合使用。通过对技术的合理选择, 节省成本的同时, 做到专业分工。在使用不同的技术对微服务架构进行整合和部署的过程中, 由于微服务的相对简单, 在升级的时候面临更小的破坏风险, 微服务的技术重构也更具有可行性[3]。
2.1.5 易扩展。
微服务的架构中, 系统的独立性比较强, 保证了系统的扩展性也比较强, 其扩展的方向也相对较多, 在横向的扩展中可以使相同维度的业务实现无缝衔接, 当不同的组件间接口出现差异的时候, 其独立性也可以大大降低衔接的复杂性。在纵向的方向上, 组件化也使得多个维度的业务能有序地进行数据交互, 微服务架构的特点大大降低了扩展风险。
2.2 微服务架构面临的问题。
微服务的复杂性主要体现于分布式这种架构方式上。由于应用的是分布式系统, 给开发时带来了天然的系统复杂性。开发者需要在RPC或消息传递之间选择进程间通信机制, 更甚于开发者必须平衡消息传递过快或者过慢的问题, 显然这加大了服务的复杂性[4]。
另一个挑战是数据库分区架构。在微服务的应用中, 应用需要同时服务多个数据库。No SQL数据库和信息代理的机制的系统, 并不支持分布式交易, 这对开发者带来了很高的挑战。
3 容器技术。
容器技术的使用, 使得微服务器架构中所面临的压力得到很大程度上的缓解。容器技术的特点为微服务构架提供了落地的机会, 其中的内核机制可以实现不同的容器之间的联系, 容器之间资源也能实现完全的隔离, 它们中有一个典型的代表—Docker。
容器技术的高速发展为计算机的云计算问题提供了解决的可能, 现在多重容器技术都已经成为容器的标准规范。Linux容器具有较多的功能, 也实现了十分规范的管理。微服务通过将单个应用程序分解, 实现了组件化, 又通过Kubemetes等技术将原有的集群统一地编织在一起, 提供应用的部署、维护、扩展机制等功能, 实现对不同容器的有效管理[5]。
Docker是容器技术中的代表, 特点体现在具有标准的镜像结构, 实现了对不同资源实行不同存储的功能, 也能满足大规模的托管服务, 对于有主机集群的云服务平台, 通过分解应用构建、发布等方式实现对云计算技术的开发, 在实现云计算平台的构建的同时, 还可以进行优化和自动化维护环境, 使得工作的效率能够得到有效的提升, 在降低成本的同时, 满足了微服务架构所需要的资源。
Docker的体系中, 最关键的有两个, Docker Register和Docker Engine, 前者负责构建和分发应用镜像, 后者负责构建容器。这种组合方式, 是云服务的软件即服务 (Software as-a-Service, Saa S) 理念, 用户可以在各自的数据中心内建立私有的Docker Register, 形成属于自己的私有集群, 以应对大规模的应用扩展需求[6]。Docker很像一个集装箱, 通过Lxc技术先进行整合镜像, 再集中汇总进行分发。
普通的虚拟机与容器技术有一定的相似性, 但是容器技术在很多细节和虚拟机并不相同。虚拟机建立在硬件平台上, 而容器技术建立在操作系统 (Operating System, OS) 上, 可以把容器看作是虚拟机轻量化的实现。Docker在实现应用隔离的同时, 没有虚拟机必须的虚拟化管理层, 对比虚拟机太长的启动时间, 容器的启动与停止可以在毫秒级这个范围内启动。比较这些特性, Docker容器显然更胜虚拟机一筹。
4 基于容器的微服务应用。
Docker的细粒度松散耦合和微服务架构相得益彰。我们可以让Docker容器装载这样一个场景功能, 按照不同的角色分类, 每一个容器里装一个服务和应用, 一个服务器中运行多个容器, 也可以将多个容器分散到多个服务器上运行。整个项目架构按照业务逻辑的规划以细粒度的方式分散到了各个Docker中, 并可以根据Rest接口的方式进行整合联动[7]。一个典型的例子可以是负载均衡层、综合业务服务层、单业务服务层、存储层。这种多分层的方式, 可以很好地保证容器对微服务的支持, 高效地保证每一层服务的运行。当然, 这种应用方式也是有些许弊端, 在架构设计的前期, 需要花费较多时间来进行详细的系统分析和逻辑划分。
5 结语。
微服务架构和容器的结合在程序开发中应用已经成为一种新的开发方式, 通过不同的微服务实现业务架构的粒度化, 通过不同的容器承载不同的业务, 为用户提供更多的开发选择。微服务构架中采用容器技术后, 一方面更加微型化;另一方面容器使微服务开发更加的便捷。这种开发方式将随着时间的推移越来越流行。
参考文献
[1]杨鸥, 张羿, 耿贞伟.微服务架构在容器云中的应用实践[J].电脑与电信, 2017 (7) :79-81.
[2]张晶, 黄小锋, 李春阳.微服务框架的设计与实现[J].计算机系统应用, 2017 (6) :259-262.
[3]王纪军, 张斌, 顾永生, 等.云环境中Web应用的微服务架构评估[J].计算机系统应用, 2017 (5) :9-15.
[4]刘为.微服务架构及相应云平台解析[J].科教导刊, 2017 (1) :27-28.
[5]佚名.容器+微服务成为驱动混合IT关键[J].邮电设计技术, 2017 (1) :5.
[6]黄小锋, 张晶.微服务框架介绍与实现[J].电脑与信息技术, 2016 (6) :14-16.
[7]王健, 李冬睿.从单一模式系统架构往微服务架构迁移转化技术研究[J].科教导刊, 2016 (9) :43-44.
第2篇:设计程序在室内设计中的有效运用论文
摘 要:一个理想的设计空间环境,一般在设计时可以分为设计的准备阶段、方案的设计阶段、施工阶段、验收与后期维护阶段。设计程序 1.设计前期准备阶段(1)相地(了解室内场地空间的基本情况)查找并收集该室内空间的原始建筑图纸,包括原始施工图纸和设计说明书。
关键词:室内设计发展论文投稿,装修风格论文发表,发表室内装修风格论文
一个理想的设计空间环境,一般在设计时可以分为设计的准备阶段、方案的设计阶段、施工阶段、验收与后期维护阶段。
设计程序
1.设计前期准备阶段
(1)相地(了解室内场地空间的基本情况)
查找并收集该室内空间的原始建筑图纸,包括原始施工图纸和设计说明书。如果不能及时收集资料,需要对现场场地进行测量,了解施工现场和周围环境的基本情况,记录空间的基本数据及尺寸,按照适当的比例绘制出相关的平立面图纸,并把各种情况进行文字记录,尤其是要查看室内空间有哪些地方需要前期改造或修补,并拍摄大量细部照片,以便进行后期的查看与研究。另外,在条件许可的情况下,尽可能的多了解原有建筑空间消防等级和相关材料、设备的配备情况。
(2)立意(了解业主的基本愿望与要求)
立意,也就是要有一个明确的主题或构思,这在设计中是极为重要的步骤。没有了立意,设计方案往往就就失去了“生命力”。一般情况下只有先明确了主题与构思,才能进一步的深入工作。但是,要产生一个绝妙的构思并不是件容易的事情,这需要付出大量的时间去寻找相关的信息资料,需要设计人员反复的思考与对比,因此,设计人员一般会给出几套设计方案,以供业主选择。所以,前期要和业主进行深入的交流,充分了解业主的家庭基本情况和职业,更要了解每一位家庭成员对各个室内空间的具体使用要求和喜好习惯。根据业主的心理需求结合必要的设计参考资料,确定设计主题,准备进入设计方案阶段。
(3)明确预算额度
在设计准备阶段应该先确定业主的预算额度,预算对于室内空间的整体装修效果有着直接影响。正确的做法是根据前期图纸出示初步的预算方案,并和业主进行交流和引导,促使业主接受预算方案。
(4)拟定设计任务书
设计任务书的主要内容要包括设计思想与主题,设计的内容、条件、标准、预算和相关的设施配套情况等。拟定任务书之后要和业主及时沟通,不断的完善和修改设计任务书。明确设计内容,拟定可行性的合理方案任务书。
2.方案设计阶段
(1)草图设计.通过对项目的前期调研和深入研究,进入到草图设计阶段。草图设计是在前期准备阶段的基础上的一种综合性的工作过程。在这个阶段,设计师要根据之前收集的资料、相关案例等各种数据和因素整合在一起,提取设计元素与设计灵感绘制草图。从功能分区入手进行空间分配,利用抬升或下沉的设计手法进行空间划分,建议使用泡泡分区法进行空间划分。空间分配合理后,要对色彩设计进行比较,尤其是冷暖色调的搭配,同时也要注意材料的运用,包括材料的品牌、质量、规格等方面。对装饰造型与装饰细节要反复推敲,并且要和设计主题相切合。草图的绘制过程其实是设计师全面思考的过程,在此基础上再进行反复修改,使此方案开始饱满,最后形成一个从概念转化为具象的设计方案。
(2)方案的扩充与细化
方案的扩充与细化主要是与业主沟通并深化设计草图,设计师应当详细的表达出自己的设计意图,充分的对设计草图进行讲解,得到业主的认可后进行开始具体的方案设计。这部分主要包括设计说明、设计目录、平面图、天花平面图、各空间的立面图、3D效果图等个图纸的细化。除设计图纸之外,还要具体落实到家具的风格、灯具的式样,陈设的布置,甚至连软装都要设计到位。方案的扩充与细化是对方案的进一步完善,这个过程要解决一系列的现实问题,包括造价的控制。
3.施工图设计
施工图的设计是对设计内容的规范、标准进行细化。草图和方案设计并不能代替施工图的设计。施工图的图纸是技术性的图纸,要符合国家制定的制图规范要求,除此之外还要包括具体的节点和大样图、设备管线图、剖面图等。需要注意的是,施工图的设计还要考虑电力系统、给排水系统、中央空调系统等线路和设备的设计。所以施工图图纸要尽量的规范、详细。
4.施工
施工阶段,也就是进入后期实际项目的设计实施阶段后,设计人员还要扮演监理的角色,继续对项目进行跟踪,否则也难以达到设计方案的完美效果。
设计人员首先要与施工人员进行沟通,对图纸的细节问题进行进一步的沟通与确认,确认施工人员已经完全掌握设计师的设计意图;在施工过程中,要不定时的密切注意水工、电工等工种的交叉技术,以免影响水路、电路之间的关系,给后期业主的使用带来问题;现场要根据施工情况进行灵活改动或补充,尽量在材料的装饰施工上保证施工质量;配合业主选择装饰材料、灯具、卫具、家电等设施
第3篇:设计程序在室内设计中的有效运用论文
设计程序在室内设计中的有效运用论文
摘 要: 一个理想的设计空间环境,一般在设计时可以分为设计的准备阶段、方案的设计阶段、施工阶段、验收与后期维护阶段。 设计程序 1.设计前期准备阶段 (1)相地(了解室内场地空间的基本情况) 查找并收集该室内空间的原始建筑图纸,包括原始施工图纸和设计说明书。
关键词: 室内设计发展论文投稿,装修风格论文发表,发表室内装修风格论文
一个理想的设计空间环境,一般在设计时可以分为设计的准备阶段、方案的设计阶段、施工阶段、验收与后期维护阶段。
设计程序
1.设计前期准备阶段
(1)相地(了解室内场地空间的基本情况)
查找并收集该室内空间的原始建筑图纸,包括原始施工图纸和设计说明书。如果不能及时收集资料,需要对现场场地进行测量,了解施工现场和周围环境的基本情况,记录空间的基本数据及尺寸,按照适当的比例绘制出相关的平立面图纸,并把各种情况进行文字记录,尤其是要查看室内空间有哪些地方需要前期改造或修补,并拍摄大量细部照片,以便进行后期的查看与研究。另外,在条件许可的情况下,尽可能的多了
第4篇:化工设备开发中RPM技术的运用论文
根据产品性质等的不同,不同的化工企业对机械制造技术有不同的要求,机械制造技术要满足化工生产全面使用和安全操作的系统要求,所设计和制造的化工设备要合理、质量优良、高效,并且具有一定的时代先进性,有利于化工产品质量和产量的提高,同时能降低能源消耗。
机械制造技术在化工设备设计与制造过程中的应用主要体现在两个方面。1)技术设计。在化工设备的整个设计过程中,技术设计的任务是抽象出化工设备的功能原型,并将功能原型转化为具体的机械技术,完成化工设备零部件的结构设计。化工设备的技术设计体现了机械技术的应用,能够全面展示化工设备设计的科学性与合理性,同时通过机械技术可以判断原设计方案的性能,以便及早提出修改意见。化工设备的技术设计包括以下几个方面的作用:系统各部件总体布置、运动配合的确定;运动与动力参数的计算;原动机的选择;人、机及环境关系的考虑;结构设计,包括零部件的结构设计,材料的选择,总装配网、几何尺寸、配合关系和性质等的确定。2)整体设计。在整体设计阶段,相关设计人员需要充分考虑机械制造技术的问题。
