- 浏览: 14104 次
- 来自: 北京
最新评论
这几年来,微服务这个概念越来越火了,火到什么程度呢?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 250随着云技术的采用又出 ... -
7种会导致业务失败的数据分析方法
2020-05-29 16:27 357真正的数据价值取决于 ... -
你根本不需要去追求“完美”的软件!
2020-04-10 16:14 265每一个软件都不是完美 ... -
如何做一名出色的初级开发?
2020-04-07 11:03 308希望本文能够为初级开发人员提供一些建议,帮助他们成长为合格的开 ... -
黑客攻击,五个步骤保障公共云安全
2020-03-26 15:31 386对于任何组织来说,其 ... -
优秀的程序员是如何处理技术 Bug 的?
2020-03-19 16:12 251最近我的圈子里人们都 ... -
盘点全球十大搜索引擎:中国百度只能排第三!
2020-03-18 10:59 484在当今互联网高速发展 ... -
股价爆跌、员工确诊,美国科技公司的新冠肺炎挑战来了
2020-03-04 15:01 305就在上周,全球股市迎 ... -
科技行业的起步时代已结束
2020-03-03 14:00 283在理解科技行业的主导 ... -
Android 11 首个开发者预览版新功能抢先看
2020-02-26 21:31 2705G支持引领了Google移动 ... -
又一起删库跑路事件!宕机36小时、损失近10亿。。。
2020-02-25 21:03 347在家中坐,删库天上来。 靠给微信公众账号提供营销推广服务发家 ... -
2020 开春程序员面试必备!拿走不谢!
2020-01-21 16:15 312软件技能在科技界很重要,如果你不会正确使用编程语言或平台,你可 ... -
程序员构建总是出问题,怎么办?
2020-01-15 14:36 206构建这一问题,到底是哪个环节出了 Bug? 我总是听 ... -
为什么越来越多的企业选择云数据库?
2020-01-13 10:23 223提到程序员,就逃不过 ... -
5G来了,Wi-Fi会消失?
2020-01-10 09:43 196当移动网络越来越快, ... -
2019年互联网那些事儿
2020-01-09 14:06 1582019年互联网大事件盘点,你还有印象吗? ▍ 1. ... -
如何在技术浪潮中屹立不倒?
2019-12-24 11:20 329关于程序员,一直以 ... -
Docekr风暴:负载均衡那点事儿
2018-04-09 16:50 282最近我注意到,针对负 ...
相关推荐
Java源码分析与常用设计模式,分布式架构的框架结构,底层原理。手写spring mvc,微服务架构 spring 5新特新与源码解析。
2020云原生微服务大会PPT汇总,共21份。 一、主论坛 Capability Oriented Architecture for cloud and edge 云原生时代的微服务架构 二、云原生架构专场 Service Mesh 在超大规模场景下的落地挑战 在微服务下的...
三十种IT技术架构师知识汇总图,包含JAVA架构师、微服务架构、互联网大流量、APP、前端、云计算等
架构师是做什么的? 软件架构指的是软件的顶层结构,而架构设计是为了应对软件系统的复杂度而提出的解决方案,并不是所有的项目都需要架构,在错误的地方...业务越来越复杂,服务分层,微服务架构是架构升级的必由之路
涵盖java体系所有的主流框架面试题,包含缓存、微服务架构,面试经验非常丰富
核心系统微服务架构分享 RTC全球化架构设计 技术管理的修炼之道:做一个“好”的技术管理者 进击的技术人——在变化中持续成长,从个人到团队 SOFARegistry的开发实践之路 AdHoc统一查询引擎实践 日常态和大促态业务...
2022年互联网架构与AI技术峰会PPT合集(86份),共包含机器学习、计算机视觉、数据中台、业务架构、前沿趋势、低代码、元宇宙等27个分类。 编程教育中的若干机器学习应用 多模态机器学习在K12教育中的应用和未来 ...
微服务架构快速启动 C#和ASP.NET Core一起使用。 (演示如何使用C#语言和ASP.NET Core环境构建微服务体系结构。) 要求 安装 安装 限度 使用的内存数据库 基础设施 编排 Kubernetes 码头工人 Docker-撰写 ...
传统 .net应用向微服务架构迁移的实践经验 当我们在谈.NET Core跨平台时我们在谈什么 发布.NET Core3.0 至 Docker 高性能开发技术 简洁的使用 netcore docker 和 kubernetes 深入浅出Application Insights 使用.NET ...
lamp-cloud微服务脚手架的前身是zuihou-admin-cloud,从3.0.0版本开始,改名为lamp-cloud,它是lamp项目的其中一员。 lamp-cloud微服务脚手架是一个基于SpringCloud(Hoxton.SR10) + SpringBoot(2.3.10.RELEASE)的...
Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 Sentinel 具有以下特性: 丰富的应用...
做好架构师,要懂微服务,汇总微服务架构落地的15种框架 go pprof 采样何时进行 gkvdb v1.81 发布,Go 语言嵌入式 K/V 数据库 go语言死循环分析 Golang 网络:核心 API 实现剖析(一) 如何在Go中构建完整测试的Web...
微服务架构面试专题系列 几本霸占我休息时间的PDF 分享网约车 分享redis 大厂面试 Java面试题库 Java面试大全+spring Java精品进阶书籍 多线程 MySQL调优 JVM 30本Java必看书 消息队列常见面试题....
KubeCon 2020 阿里巴巴云原生专场PPT汇总,共28份。 一、微服务技术与实践论坛 托管式服务网格:多种类型计算服务统一管理的基础设施 Dubbo3.0 的演进及多语言解决方案的实践 Nacos 内核构建及演进方向 Service ...
2020人工智能与机器学习创新峰会PPT汇总,24个专题共73份资料。供大家学习参考。 一、测试新趋势 业务数据监控从0-1脱敏 AI在游戏数值与平衡性分析中的应用 微众研发效能改进之数据度量体系 敏捷测试团队转型实践 ...
看过awesome-go项目, 汇总了很多go开源项目。 但是awesome-go收集了太全了, 而且每个项目没有详细描述。 因此我自己根据go语言中文社区提供的资料,还有互联网企业架构设计中的常见组件分类, 共精心挑选了100多个...
基于开源框架及容器技术的微服务架构研究性论文
微服务架构下质量保障的最后一公里 基于SpringBoot的高效模板化自动化测试框架 AI时代,测试管理工具的重构与创新之路 学而思网校质量全局化部署 洞见TDD-理论与实践 京东618双11+全链路压测的实践之路脱敏版 传统型...
该项目利用了Spring Boot的快速开发特性和微服务的架构理念,旨在为用户提供一个高效率、易操作和可扩展的核酸检测服务平台。 以下是该微信小程序核酸检测服务系统的核心功能和特点: 1. **在线预约**:用户可以...
lamp-cloud的前身是zuihou-admin-cloud,从3.0.0版本开始,改名为lamp-cloud,它是lamp项目的其中一员。 lamp-cloud是一个基于SpringCloud(Hoxton.SR10) + SpringBoot(2.3.10.RELEASE)的SaaS微服务脚手架,具有...