- 浏览: 18016 次
- 来自: 北京
最新评论
这几年来,微服务这个概念越来越火了,火到什么程度呢?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]
微服务已经成为很多大型互联网公司的选择,对于架构师和想要成为架构师的工程师来说,掌握微服务不仅要学会使用相关框架来实现,还要掌握具体用法,在具体的实践中仍然要避开很多坑。
发表评论
-
2020年云计算的发展与应用现状
2020-06-09 15:05 359随着云技术的采用又出 ... -
7种会导致业务失败的数据分析方法
2020-05-29 16:27 463真正的数据价值取决于 ... -
你根本不需要去追求“完美”的软件!
2020-04-10 16:14 366每一个软件都不是完美 ... -
如何做一名出色的初级开发?
2020-04-07 11:03 418希望本文能够为初级开发人员提供一些建议,帮助他们成长为合格的开 ... -
黑客攻击,五个步骤保障公共云安全
2020-03-26 15:31 455对于任何组织来说,其 ... -
优秀的程序员是如何处理技术 Bug 的?
2020-03-19 16:12 347最近我的圈子里人们都 ... -
盘点全球十大搜索引擎:中国百度只能排第三!
2020-03-18 10:59 679在当今互联网高速发展 ... -
股价爆跌、员工确诊,美国科技公司的新冠肺炎挑战来了
2020-03-04 15:01 376就在上周,全球股市迎 ... -
科技行业的起步时代已结束
2020-03-03 14:00 365在理解科技行业的主导 ... -
Android 11 首个开发者预览版新功能抢先看
2020-02-26 21:31 3485G支持引领了Google移动 ... -
又一起删库跑路事件!宕机36小时、损失近10亿。。。
2020-02-25 21:03 433在家中坐,删库天上来。 靠给微信公众账号提供营销推广服务发家 ... -
2020 开春程序员面试必备!拿走不谢!
2020-01-21 16:15 399软件技能在科技界很重要,如果你不会正确使用编程语言或平台,你可 ... -
程序员构建总是出问题,怎么办?
2020-01-15 14:36 268构建这一问题,到底是哪个环节出了 Bug? 我总是听 ... -
为什么越来越多的企业选择云数据库?
2020-01-13 10:23 291提到程序员,就逃不过 ... -
5G来了,Wi-Fi会消失?
2020-01-10 09:43 263当移动网络越来越快, ... -
2019年互联网那些事儿
2020-01-09 14:06 1582019年互联网大事件盘点,你还有印象吗? ▍ 1. ... -
如何在技术浪潮中屹立不倒?
2019-12-24 11:20 401关于程序员,一直以 ... -
Docekr风暴:负载均衡那点事儿
2018-04-09 16:50 344最近我注意到,针对负 ...
相关推荐
微服务架构是一种软件开发策略,它提倡将单一应用程序分解为一组小型、独立的服务,每个服务都能在其自己的进程中运行,并且可以使用轻量级机制(通常是HTTP RESTful API)相互通信。这种架构允许团队独立地开发、...
Java源码分析与常用设计模式,分布式架构的框架结构,底层原理。手写spring mvc,微服务架构 spring 5新特新与源码解析。
2020云原生微服务大会PPT汇总,共21份。 一、主论坛 Capability Oriented Architecture for cloud and edge 云原生时代的微服务架构 二、云原生架构专场 Service Mesh 在超大规模场景下的落地挑战 在微服务下的...
微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。微服务架构的优势包括可扩展性、容错性、技术选型灵活、开发运维效率高等。 微服务架构的...
三十种IT技术架构师知识汇总图,包含JAVA架构师、微服务架构、互联网大流量、APP、前端、云计算等
本资源“30种java技术框架-方案架构图汇总.zip”包含了针对不同场景和需求的30个Java技术框架的方案架构图,旨在帮助开发者理解和选择适合的框架。以下是对这些框架及其在实际应用中的作用的详细说明: 1. **Spring...
微服务架构作为一种现代化的软件开发方式,它将大型单体应用拆分为一系列小而独立的服务,每个服务都可以独立开发、部署和扩展。然而,微服务的落地实施并非易事,本文将深入探讨微服务落地过程中遇到的主要难点,并...
架构师是做什么的? 软件架构指的是软件的顶层结构,而架构设计是为了应对软件系统的复杂度而提出的解决方案,并不是所有的项目都需要架构,在错误的地方...业务越来越复杂,服务分层,微服务架构是架构升级的必由之路
2. **微服务架构**:微服务架构提倡将大型应用程序拆分为小型、独立的服务,每个服务都有自己的业务功能。这种架构强调服务间的松耦合,通常使用RESTful API进行通信。Docker和Kubernetes等容器化及编排工具是实现...
微服务架构是现代软件开发的趋势,它提倡将大型系统拆分为小而独立的服务,每个服务都能独立部署和扩展。面试时,可能会涉及服务间通信(如RESTful API或gRPC)、服务治理(如Docker容器化和Kubernetes编排)、以及...
2. **微服务架构**: - **服务拆分**:如何将单体应用拆分为独立、可部署的服务。 - **服务发现**:使用Eureka、Consul等实现服务之间的动态注册与发现。 - **API Gateway**:Zuul、Spring Cloud Gateway作为统一...
教程会深入讲解架构模式与风格,如微服务架构、事件驱动架构、服务导向架构等。这些模式在现代软件开发中广泛应用,能够帮助设计出高可用、可维护的系统。同时,也会涉及架构决策与评估,如何在不同的架构选项中进行...
腾讯微服务TAF(Tencent Application Framework)是一种在微服务架构中使用的中间件框架,其名称来源于“腾讯应用框架”,它基于RPC(远程过程调用)技术构建。TAF在2010年8月2日由腾讯内部提出并开始发展,旨在提升...
Spring Cloud、Dubbo是微服务架构的实现框架。 11. **服务发现**:服务之间的发现和注册,如Netflix Eureka、Consul,帮助服务实例动态发现其他服务并进行通信。 12. **容错与故障恢复**:通过冗余、备份、检查点...
SSM框架基础知识汇总(涉及底层) SSM框架是Java Web开发中常见的三大组件——Spring、Spring MVC和MyBatis的组合,它们各自负责不同的职责,共同构建了一个强大的、灵活的后端开发架构。 1. Spring框架:Spring是...
微服务架构应运而生,它将大型应用拆分为多个小型、独立的服务,每个服务专注于单一业务功能,从而提高了开发效率和系统的可扩展性。Spring Cloud 作为微服务的首选框架,因其与Spring家族的紧密联系、丰富的组件、...
核心系统微服务架构分享 RTC全球化架构设计 技术管理的修炼之道:做一个“好”的技术管理者 进击的技术人——在变化中持续成长,从个人到团队 SOFARegistry的开发实践之路 AdHoc统一查询引擎实践 日常态和大促态业务...