微服务架构以及Pig项目分析
Posted Ferron Zhu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务架构以及Pig项目分析相关的知识,希望对你有一定的参考价值。
文章目录
1.1、引言
随着互联网技术和社会的快速发展,为了适应日益增长的用户访问量和产品的快速迭代升级,软件体系架构也经历了从繁到简,从最初的单体架构,到后来的MVC架构,再到现在的SOA和微服务架构的发展过程。最初的单体架构,一般一个应用程序就是一个完整的结构体,整个应用程序都只会部署到一个服务器上,但是这种高度耦合性的架构风格存在可维护性,可拓展性不足的缺陷,而且对项目作进一步修改、开发、部署及测试的压力会不断增大,无法满足移动互联网时代业务快速增长和系统快速更新交付的需求。因此微服务架构这种新的架构风格便出现了。
微服务分布式架构具备可扩展性、敏捷性和容错性的优势,同时,容器技术和容器编排管理平台的迅速发展为微服务架构的大规模使用提供了基础支撑,这使得微服务架构逐渐成为了目前最主流的应用解决方案。
1.2、概述
服务架构是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用的轻量级通信机制(通常用HTTP资源API),这些服务围绕业务能力构建并且可通过全自动部署机制独立部署。这些服务公用一个最小型的集中式的管理,服务可用不同的语言进行开发,使用不同的数据储存技术。
下图是目前一个微服务应用程序的架构图,首先用户访问应用程序首先得通过企业防火墙进入负载均衡系统,目前主流的负载均衡技术一般由nginx来实现,其正向和反向代理技术是负载均衡的核心。负载均衡系统会将工作任务进行平衡、分摊到多个操作单元上进行运行,使不同的任务服务器协同完成工作任务。而微服务架构把传统的架构进行高聚合,低耦合处理,把一个应用程序的开发变成一组服务的开发,把每个具体的服务聚合成一个开发单元,如下图中的图片服务器、文件服务器、群发服务器等等。
1.3、单体架构和微服务对比
1.3.1、微服务架构的优缺点
优点 | 缺点 |
---|---|
易于开发和维护 | 运维要求高 |
开发和维护单个微服务相对简单 | 分布式固有的复杂性 |
单个微服务启动较快 | 接口调整成本高 |
局部修改容易部署 | |
技术栈不受限制 | |
按需伸缩 |
1.3.2、单体架构的优缺点
优点 | 缺点 |
---|---|
易于开发和测试 | 复杂性高 |
易于部署 | 技术债务 |
易于整体扩展 | 阻碍技术创新 |
以上是关于微服务架构以及Pig项目分析的主要内容,如果未能解决你的问题,请参考以下文章