`

微服务架构框架?这里为你汇总了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]

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

相关推荐

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

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

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

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

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

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

    Java架构面试专题汇总

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

    架构面试专题汇总.zip

    涵盖java体系所有的主流框架面试题,包含缓存、微服务架构,面试经验非常丰富

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

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

    A2M 2022年互联网架构与AI技术峰会PPT合集(86份).zip

    2022年互联网架构与AI技术峰会PPT合集(86份),共包含机器学习、计算机视觉、数据中台、业务架构、前沿趋势、低代码、元宇宙等27个分类。 编程教育中的若干机器学习应用 多模态机器学习在K12教育中的应用和未来 ...

    microservice-architecture-quick-start:演示如何使用C#语言和ASP.NET Core环境构建微服务架构

    微服务架构快速启动 C#和ASP.NET Core一起使用。 (演示如何使用C#语言和ASP.NET Core环境构建微服务体系结构。) 要求 安装 安装 限度 使用的内存数据库 基础设施 编排 Kubernetes 码头工人 Docker-撰写 ...

    2019 dotNET中国峰会PPT汇总.zip

    传统 .net应用向微服务架构迁移的实践经验 当我们在谈.NET Core跨平台时我们在谈什么 发布.NET Core3.0 至 Docker 高性能开发技术 简洁的使用 netcore docker 和 kubernetes 深入浅出Application Insights 使用.NET ...

    lamp-cloud微服务脚手架

    lamp-cloud微服务脚手架的前身是zuihou-admin-cloud,从3.0.0版本开始,改名为lamp-cloud,它是lamp项目的其中一员。 lamp-cloud微服务脚手架是一个基于SpringCloud(Hoxton.SR10) + SpringBoot(2.3.10.RELEASE)的...

    Sentinel流量控制由浅入深学习笔记

    Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 Sentinel 具有以下特性: 丰富的应用...

    阿里云javasdk源码-gocn-daily-news:GoCN每日新闻

    做好架构师,要懂微服务,汇总微服务架构落地的15种框架 go pprof 采样何时进行 gkvdb v1.81 发布,Go 语言嵌入式 K/V 数据库 go语言死循环分析 Golang 网络:核心 API 实现剖析(一) 如何在Go中构建完整测试的Web...

    2023最全的Java大厂面试题合集.zip

    微服务架构面试专题系列 几本霸占我休息时间的PDF 分享​网约车​ 分享​redis​ 大厂面试 Java面试题库 Java面试大全+spring Java精品进阶书籍 ​多线程 ​MySQL调优​ ​JVM​ 30本Java必看书 消息队列常见面试题....

    KubeCon 2020 阿里巴巴云原生专场PPT汇总(28份).zip

    KubeCon 2020 阿里巴巴云原生专场PPT汇总,共28份。 一、微服务技术与实践论坛 托管式服务网格:多种类型计算服务统一管理的基础设施 Dubbo3.0 的演进及多语言解决方案的实践 Nacos 内核构建及演进方向 Service ...

    2020人工智能与机器学习创新峰会PPT汇总.zip

    2020人工智能与机器学习创新峰会PPT汇总,24个专题共73份资料。供大家学习参考。 一、测试新趋势 业务数据监控从0-1脱敏 AI在游戏数值与平衡性分析中的应用 微众研发效能改进之数据度量体系 敏捷测试团队转型实践 ...

    go开源项目大全(目前最完整)

    看过awesome-go项目, 汇总了很多go开源项目。 但是awesome-go收集了太全了, 而且每个项目没有详细描述。 因此我自己根据go语言中文社区提供的资料,还有互联网企业架构设计中的常见组件分类, 共精心挑选了100多个...

    国网-资质业绩核实模板汇总.rar_matlab_

    基于开源框架及容器技术的微服务架构研究性论文

    2020QECon 全球软件质量和效能大会(上海站)PPT汇总.zip

    微服务架构下质量保障的最后一公里 基于SpringBoot的高效模板化自动化测试框架 AI时代,测试管理工具的重构与创新之路 学而思网校质量全局化部署 洞见TDD-理论与实践 京东618双11+全链路压测的实践之路脱敏版 传统型...

    微信小程序医院核酸检测服务系统开发+Springboot.zip

    该项目利用了Spring Boot的快速开发特性和微服务的架构理念,旨在为用户提供一个高效率、易操作和可扩展的核酸检测服务平台。 以下是该微信小程序核酸检测服务系统的核心功能和特点: 1. **在线预约**:用户可以...

    lamp-cloud微服务脚手架-其他

    lamp-cloud的前身是zuihou-admin-cloud,从3.0.0版本开始,改名为lamp-cloud,它是lamp项目的其中一员。   lamp-cloud是一个基于SpringCloud(Hoxton.SR10) + SpringBoot(2.3.10.RELEASE)的SaaS微服务脚手架,具有...

Global site tag (gtag.js) - Google Analytics