`

微服务架构框架?这里为你汇总了15种

阅读更多

这几年来,微服务这个概念越来越火了,火到什么程度呢?2019年有一个统计说,两千家企业里,45%在使用微服务,16%在实验开发和测试微服务架构,24%在学习微服务准备转型,只有剩下的15%的企业没有使用微服务。

微服务到底有什么好呢?微服务在2013年才被提出,短短几年就有这么快速的发展。微服务架构能够实现由小型自主服务组成一个整体应用,各个组成部分之间是松耦合的,复杂性低,各个部分可以独立部署,修复bug或者引入新特性更容易,能够独立扩展,不同技术栈之间可以使用不同框架、不同版本库甚至不同的操作系统平台。



对于中大型架构系统来说,微服务更加便捷,微服务成为很多企业架构重构的方向,同时也对架构师提出更高的挑战。目前有很多常用于微服务构建的框架,对于构建微服务架构能够带来一些帮助。

Java语言相关微服务框架

Spring Boot

Spring Boot的设计目的是简化新Spring应用初始搭建以及开发过程,2017年有64.4%的受访者决定使用Spring Boot,可以说是最受欢迎的微服务开发框架。利用Spring Boot开发的便捷度简化分布式系统基础设施的开发,比如像配置中心、注册、负载均衡等方面都可以做到一键启动和一键部署。

Spring Cloud

Spring Cloud是一个系列框架的合计,基于HTTP(s)的RETS服务构建服务体系,Spring Cloud能够帮助架构师构建一整套完整的微服务架构技术生态链。



Dubbo

Dubbo是由阿里巴巴开源的分布式服务化治理框架,通过RPC请求方式访问。Dubbo是在阿里巴巴的电商平台中逐渐探索演进所形成的,经历过复杂业务的高并发挑战,比Spring Cloud的开源时间还要早。目前阿里、京东、当当、携程、去哪等一些企业都在使用Dubbo。

Dropwizard

Dropwizard将Java生态系统中各个问题域里最好的组建集成于一身,能够快速打造一个Rest风格的后台,还可以整合Dropwizard核心以外的项目。国内现在使用Dropwizard还很少,资源也不多,但是与Spring Boot相比,Dropwizard在轻量化上更有优势,同时如果用过Spring,那么基本也会使用Spring Boot。

Akka

Akka是一个用Scala编写的库,可以用在有简化编写容错、高可伸缩性的Java和Scala的Actor模型,使用Akka能够实现微服务集群。

Vert.x/Lagom/ReactiveX/Spring 5

这四种框架主要用于响应式微服务开发,响应式本身和微服务没有关系,更多用于提升性能上,但是可以和微服务相结合,也可以提升性能。



.Net相关微服务框架

.NET Core

.NET Core是专门针对模块化微服务架构设计的,是跨平台应用程序开发框架,是微软开发的第一个官方版本。

Service Fabric

Service Fabric是微软开发的一个微服务框架,基于Service Fabric构建的很多云服务被用在了Azure上。

Surging

Surging是基于RPC协议的分布式微服务技术框架,基于.NET Core而来。

Microdot Framework

Microdot Framework用于编写定义服务逻辑代码,不需要解决开发分布式系统的挑战,能够很方便的进行MicrosoftOrleans集成。



Node.js相关微服务框架

Seneca

Seneca是Node.js的微服务框架开发工具,可以用于编写可用于产品环境的代码。

Hapi/Restify/LoopBack

这三种框架的分工不同,前两种更适合开发简单的微服务后端系统,第三种更适合用在大型复杂应用开发,还可以用在现有微服务上的构建。

Go相关微服务框架


Go-Kit/Goa/Dubbogo

Go-Kit是分布式开发的工具合集,适合用于大型业务场景下构建微服务;Goa是用Go语言构建的微服务框架;Dubbogo是和阿里巴巴开源的Dubbo能够兼容的Golang微服务框架。

Python相关微服务框架

Python相关的微服务框架非常少,用的比较多的是Nameko。Nameko让实现微服务变得更简单,同时也提供了很丰富的功能,比如支持负载均衡、服务发现还支持依赖自动注入等,使用起来很方便,但是有限速、超时和权限机制不完善等缺点。

[b][b]总结[/b][/b]

微服务已经成为很多大型互联网公司的选择,对于架构师和想要成为架构师的工程师来说,掌握微服务不仅要学会使用相关框架来实现,还要掌握具体用法,在具体的实践中仍然要避开很多坑。
分享到:
评论

相关推荐

    微服务架构:Spring-Cloud汇总.pdf

    微服务架构是一种软件开发策略,它提倡将单一应用程序分解为一组小型、独立的服务,每个服务都能在其自己的进程中运行,并且可以使用轻量级机制(通常是HTTP RESTful API)相互通信。这种架构允许团队独立地开发、...

    Java高级架构知识总汇——源码分析,分布式,微服务,性能优化

    Java源码分析与常用设计模式,分布式架构的框架结构,底层原理。手写spring mvc,微服务架构 spring 5新特新与源码解析。

    2020云原生微服务大会PPT汇总(21份).zip

    2020云原生微服务大会PPT汇总,共21份。 一、主论坛 Capability Oriented Architecture for cloud and edge 云原生时代的微服务架构 二、云原生架构专场 Service Mesh 在超大规模场景下的落地挑战 在微服务下的...

    SpringCloud微服务架构升级汇总

    微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。微服务架构的优势包括可扩展性、容错性、技术选型灵活、开发运维效率高等。 微服务架构的...

    三十种IT技术架构师知识汇总图-2.rar

    三十种IT技术架构师知识汇总图,包含JAVA架构师、微服务架构、互联网大流量、APP、前端、云计算等

    30种java技术框架-方案架构图汇总.zip

    本资源“30种java技术框架-方案架构图汇总.zip”包含了针对不同场景和需求的30个Java技术框架的方案架构图,旨在帮助开发者理解和选择适合的框架。以下是对这些框架及其在实际应用中的作用的详细说明: 1. **Spring...

    微服务落地的难点解析.docx

    微服务架构作为一种现代化的软件开发方式,它将大型单体应用拆分为一系列小而独立的服务,每个服务都可以独立开发、部署和扩展。然而,微服务的落地实施并非易事,本文将深入探讨微服务落地过程中遇到的主要难点,并...

    Java架构面试专题汇总

    架构师是做什么的? 软件架构指的是软件的顶层结构,而架构设计是为了应对软件系统的复杂度而提出的解决方案,并不是所有的项目都需要架构,在错误的地方...业务越来越复杂,服务分层,微服务架构是架构升级的必由之路

    三十种IT技术架构师知识汇总-1.rar

    2. **微服务架构**:微服务架构提倡将大型应用程序拆分为小型、独立的服务,每个服务都有自己的业务功能。这种架构强调服务间的松耦合,通常使用RESTful API进行通信。Docker和Kubernetes等容器化及编排工具是实现...

    架构面试专题汇总.zip

    微服务架构是现代软件开发的趋势,它提倡将大型系统拆分为小而独立的服务,每个服务都能独立部署和扩展。面试时,可能会涉及服务间通信(如RESTful API或gRPC)、服务治理(如Docker容器化和Kubernetes编排)、以及...

    三十种IT技术架构师知识汇总图-3.rar

    2. **微服务架构**: - **服务拆分**:如何将单体应用拆分为独立、可部署的服务。 - **服务发现**:使用Eureka、Consul等实现服务之间的动态注册与发现。 - **API Gateway**:Zuul、Spring Cloud Gateway作为统一...

    系统架构设计师教程-知识点汇总-重难点分析(2021最新版).zip

    教程会深入讲解架构模式与风格,如微服务架构、事件驱动架构、服务导向架构等。这些模式在现代软件开发中广泛应用,能够帮助设计出高可用、可维护的系统。同时,也会涉及架构决策与评估,如何在不同的架构选项中进行...

    腾讯微服务TAF.pdf

    腾讯微服务TAF(Tencent Application Framework)是一种在微服务架构中使用的中间件框架,其名称来源于“腾讯应用框架”,它基于RPC(远程过程调用)技术构建。TAF在2010年8月2日由腾讯内部提出并开始发展,旨在提升...

    分布式架构面试题汇总.zip

    Spring Cloud、Dubbo是微服务架构的实现框架。 11. **服务发现**:服务之间的发现和注册,如Netflix Eureka、Consul,帮助服务实例动态发现其他服务并进行通信。 12. **容错与故障恢复**:通过冗余、备份、检查点...

    SSM框架基础知识汇总(涉及底层)

    SSM框架基础知识汇总(涉及底层) SSM框架是Java Web开发中常见的三大组件——Spring、Spring MVC和MyBatis的组合,它们各自负责不同的职责,共同构建了一个强大的、灵活的后端开发架构。 1. Spring框架:Spring是...

    Spring Cloud面试题汇总.pdf

    微服务架构应运而生,它将大型应用拆分为多个小型、独立的服务,每个服务专注于单一业务功能,从而提高了开发效率和系统的可扩展性。Spring Cloud 作为微服务的首选框架,因其与Spring家族的紧密联系、丰富的组件、...

    ArchSummit 2022全球架构师峰会杭州站(公开)PPT汇总(共35份).zip

    核心系统微服务架构分享 RTC全球化架构设计 技术管理的修炼之道:做一个“好”的技术管理者 进击的技术人——在变化中持续成长,从个人到团队 SOFARegistry的开发实践之路 AdHoc统一查询引擎实践 日常态和大促态业务...

Global site tag (gtag.js) - Google Analytics