黑马程序员技术交流社区
标题:
微服务架构技术选型推荐
[打印本页]
作者:
逆风TO
时间:
2020-4-28 14:01
标题:
微服务架构技术选型推荐
本文介绍一下微服务架构常用技术组件选型!
开发语言
JAVA
主流编程语言,适合构建大型后台服务
Golang
Go语言是谷歌2009发布的第二款开源编程语言。专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。Google对Go寄予厚望。其设计是让软件充分发挥多核心处理器同步多工的优点,并可解决面向对象程序设计的麻烦。目前作为云计算领域的不二之选!
开发工具
IntelliJ IDEA
jetbrains公司旗下产品,智能代码助手、J2EE支持、各类版本工具(git、svn、github等)、JUnit、CVS整合等。多语言支持,免费版只支持JAVA等少数语言。旗舰版为收费版本,同时提供免费版(功能上较旗舰版有减少)。
VS Code
是一款免费的、开源的、高性能的、跨平台的、轻量级的代码编辑器,同时,在性能,语言支持、开源社区方面也做的很不错!
开发技术
框架
微服务框架
Spring Cloud / Spring Cloud alibaba
: Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,提供了全套微服务解决方案。
RPC
RestTemplate / WebClient
:Spring RestTemplate 是 Spring 提供的用于访问 Rest 服务的客户端
gRPC
: GRPC是google开源的一个高性能、跨语言的RPC框架,基于HTTP2协议,基于protobuf 3.x的一款rpc框架。 多种语言支持; 支持链接复用,集群内可采用长链接; 性能简单调优后,可满足多数业务场景需求。
分布式事务
Seata
: 阿里巴巴重点开源项目、Java开发、性能高、无锁、代码无侵入AT模式0代码、支持MT模式非事务型存储、社区活跃,版本更新快,使用简单!
流量控制、熔断降级
Sentinel
:阿里巴巴重点开源项目、Java开发、二次开发方便、社区活跃
中间件
API网关
Spring Cloud Gateway
:Spring首选、方便二次开发、支持异步非阻塞
Kong
:Kong是一款基于Nginx_Lua模块写的高可用,易扩展由Mashape公司开源的API Gateway项目。性能优异,插件丰富基本开箱即用,二开有一定的使用门槛。
配置中心
Nacos
:阿里巴巴重点开源项目、可同时作为注册/中心配置中心,简化技术栈、有完善管理界面、Java开发、二次开发方便、社区活跃、CP模式,还在不断更新迭代。
Apollo
:是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
服务发现
Nacos
: 阿里巴巴重点开源项目、可同时作为注册/中心配置中心,简化技术栈、有完善管理界面、Java开发、二次开发方便、社区活跃、CP模式,还在不断更新迭代。
Zookeeper
:ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。性能可以满足较大规模的服务发现和配置中心,生效实时性高,不适合大规模实时数据同步场景。
监控
Prometheus
:功能较为全面的开源监控系统,CNCF技术栈、社区活跃
Grafana
:Grafana是一个开源的度量分析与可视化套件。纯 Javascript 开发的前端工具,通过访问库(如InfluxDB),展示自定义报表、显示图表等。大多使用在时序数据的监控方面,如同Kibana类似。Grafana的UI更加灵活,有丰富的插件,功能强大。 界面简洁美观,支持自由定制,社区有丰富的Dashboard支持。
链路跟踪
SkyWalking
:分布式追踪系统,国产链路跟踪、社区文档丰富!
日志采集
EFK
:分布式服务日志处理,扩展方便。
组件类库
序列化
Jackson
:Spring首选、稳定
安全
。
protobuf
:Protocol Buffer( 简称Protobuf) 是google开源的一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,很适合做数据存储或RPC 数据交换格式。
工具
构建工具
Maven
:主流的项目构建和管理工具,Maven是 Apache 下的一个纯 Java 开发的开源项目,是一个项目构建和管理的工具;它提供了帮助管理 构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。
接口请求工具
postman
:postman是一款功能强大的网页调试和模拟发送HTTP请求的Chrome插件,支持几乎所有类型的HTTP请求,操作简单且方便。
容器
Docker
是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。使用Docker可以带来以下几个优势:1. 更快速的交付和部署;2. 高效的部署和扩容;3. 更高的资源利用率;4. 简单的管理
集群管理
Kubernetes
:Kubernetes一个用于容器集群的自动化部署、扩容以及运维的开源平台。通过Kubernetes,你可以快速有效地响应用户需求;快速而有预期地部署你的应用;极速地扩展你的应用;无缝对接新应用功能;节省资源,优化硬件资源的使用。为容器编排管理提供了完整的开源方案。生态丰富,易扩展;功能丰富稳定,大公司背书;易上手。
运行环境
操作系统:
Linux<CentOS 7+>
:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Web服务器
Tomcat<8+>
:Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
Nginx
:轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器
NodeJs
:服务端JavaScript环境
本文转自链接:
https://juejin.im/post/5ea793a1f265da7c01701c4a
作者:
孙丽
时间:
2020-5-4 11:34
6666666666666666666666
作者:
王锦
时间:
2020-5-4 11:42
666666666666666666666666666666
作者:
我是小圆圆
时间:
2020-5-4 11:42
感谢分享哦~
作者:
zhaosongzhi
时间:
2020-5-4 11:47
作者棒棒哒
作者:
zhaosongzhi
时间:
2020-5-4 11:55
作者棒棒哒
作者:
zhaosongzhi
时间:
2020-5-4 12:04
作者棒棒哒
作者:
我爱我1022
时间:
2020-5-4 12:07
作者:
zhaosongzhi
时间:
2020-5-4 12:13
作者棒棒哒
作者:
霍尔
时间:
2020-5-4 12:15
66666666666666666
作者:
zhaosongzhi
时间:
2020-5-4 12:21
作者棒棒哒
作者:
zhaosongzhi
时间:
2020-5-4 12:30
作者棒棒哒
作者:
zhaosongzhi
时间:
2020-5-4 12:38
作者棒棒哒
作者:
zhaosongzhi
时间:
2020-5-4 12:47
作者棒棒哒
作者:
零度☆黎明
时间:
2020-5-4 13:01
66666666666666666666666666666666666666666666666666
作者:
zplxwl
时间:
2020-5-4 13:06
很不错哦!!!
作者:
半个程序员
时间:
2020-5-4 13:37
感谢分享哦~
作者:
马洁
时间:
2020-5-4 14:18
作者:
hello!!!
时间:
2020-5-4 14:18
作者:
sdjadyhm
时间:
2020-5-4 15:29
感谢分享哟~ 棒棒哒加油~~
作者:
耙丫丫
时间:
2020-5-4 16:12
666666666666666666666666666
作者:
哦嗨呦
时间:
2020-5-4 16:53
好人一生平安
作者:
竹竹竹竹
时间:
2020-5-4 17:15
感谢分享
作者:
黑马程序员啊
时间:
2020-5-4 18:32
666666666666666
作者:
manyihang
时间:
2020-5-4 20:26
666666666666666666666
作者:
mydorling11
时间:
2020-5-5 09:35
2123111111111111
作者:
逆风TO
时间:
2020-5-5 09:48
感谢分享呀~
作者:
lvxinvip
时间:
2020-5-5 09:49
作者:
hongping
时间:
2020-5-5 10:30
感谢分享哟~ 棒棒哒加油~~
作者:
1467584
时间:
2020-5-5 15:25
66666666666666666666666666
作者:
章鱼顶呱呱
时间:
2020-5-5 15:26
6666666666666666666666
作者:
yujq
时间:
2020-5-5 21:02
66666666666666666666
作者:
daoqin
时间:
2020-5-6 09:23
感谢分享~加油哦~
作者:
咨询部王丹
时间:
2020-5-6 09:51
作者:
大安
时间:
2020-5-6 09:58
感谢分享哦~
作者:
影@子~
时间:
2020-5-7 09:53
感谢分享
作者:
大智叔叔
时间:
2020-5-7 15:48
感谢分享哟~ 棒棒哒加油~~
作者:
你不爱我
时间:
2020-5-7 16:09
感谢分享
作者:
举个栗子
时间:
2020-5-7 16:20
66666666666666666666666666
作者:
小公举
时间:
2020-5-7 17:24
太厉害了吧
作者:
王微
时间:
2020-5-7 17:50
6666666666666666666666
作者:
我爱我1022
时间:
2020-5-7 17:54
作者:
Emmmmm~
时间:
2020-5-8 09:47
666666666666666666
作者:
lzq123
时间:
2020-5-8 10:00
666666666666666666666666666666666666
作者:
lzq123
时间:
2020-5-8 10:02
666666666666666666666666666666666
作者:
jsnoob
时间:
2020-5-8 10:07
加油加油加油!!!
作者:
雨落轻舟
时间:
2020-5-8 11:48
非常受用,感谢分享
作者:
素问
时间:
2020-5-8 12:50
感谢分享,支持,加油~~~~!!!
作者:
殷凯老师
时间:
2020-5-8 14:24
66666666666666
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2