首页 > 编程知识 正文

微服务架构技术有哪些,微服务框架选型

时间:2023-05-06 14:51:17 阅读:33249 作者:3886

另一方面,微服务微服务是什么并没有官方定义,一个大而复杂的软件APP应用可以理解为由一个或多个微服务组成的体系结构样式。 系统中的各个微服务可以独立部署,各个微服务之间是松散耦合的。 每个微服务只关注完成一个任务,并成功完成该任务。 在每种情况下,每个任务都代表一个小的业务能力。

在传统的APP应用程序开发中,所有APP应用程序都是单片的,便于开发和部署,但随着业务的增长,重复开发和性能瓶颈等问题增加了开发难度。 微服务是为了解决这个设计问题而产生的。 微服务将复杂系统划分为几十到几百个小服务,同时这些小服务为语言和框架选择提供了灵活性,缩短了APP应用程序开发的上线时间,并根据不同的工作负载和资源要求独立缩小和扩展服务

二、微服务框架的技术点微服务划分为多个微服务进程后,进程中的方法调用成为进程之间的远程调用,这一变化带来分布式系统的一系列问题。 例如:

的服务注册和发现认证和授权服务扩展控制反向代理和负载均衡路由控制流量切换日志管理性能度量、监控和协调均衡跟踪过载保护服务升级服务部署和版本升级策略支持错误处理上述微服务存在

三、微服务技术框架介绍微服务框架可以分为入侵式和非入侵式两种,什么是入侵式和非入侵式呢? 在微服务框架Spring Cloud中介绍,微服务框架使用Eruka Server作为服务注册中心,并配置微服务单元使用eureka客户端在注册中心注册例如,出现在Python中使用Spring Cloud微服务框架的问题的Spring Cloud是入侵型微服务框架,入侵型微服务框架中也存在Dubbo框架。

什么是无创微服务框架? 还是在微服务框架中注册微服务进行说明? 例如,将服务注册和服务调用与现有服务分离,从而形成服务代理。 此服务代理(也称为Sidecar )可找到所需的服务,并负责通信可靠性和安全性等问题。 当服务大量部署时,与服务一起部署的Sidecar代理之间的链路形成如下所示的网格,该网格成为微服务的通信基础设施层,承载微服务之间的所有流量,并无创微服务框架的代表性方案是Istio和Conduit。

对这几种方案进行简要的初步介绍。Spring Cloud

Spring Cloud作为微服务的开发框架包含许多组件,包括springcloudNetflix(Eureka、Hystrix、Zuul、Archaius )、spring cloud code Spring Cloud Security、Spring Cloud Sleuth、Spring Cloud Data Flow、Spring Cloud Stream、Spring Cloud Task、spring cloud zokeper、SSSS

另外,Spring Boot可以使Spring Cloud简化基于Spring的开发环境,并根据Spring Boot快速开发各个微服务。Dubbo

Dubbo是一个开源分布式服务框架,它是开源阿里巴巴,致力于提供高性能、透明的RPC远程服务调用和SOA服务治理方案。 其中心部分如下:

远程通信—基于多个长连接(包括多个线程模型、序列化和请求-响应模式)提供NIO框架的抽象封装。 群集容错提供基于接口的透明远程过程调用,包括多协议支持以及群集支持,如软负载平衡、容错、地址路由和动态配置。 自动发现:基于注册中心的目录服务,让服务消费者动态搜索服务提供者,使地址透明,让服务提供者顺利增减机器。Spring Cloud VS Dubbo

这是一个有趣的关于Spring Cloud和Dubbo的比喻。 使用Dubbo构建的微服务体系结构就像组装电脑一样,每个阶段的可选自由度都很高,但最终很可能会因为一个内存的质量差而变得不亮。 但是,如果是不安的绿茶,这些都没有问题。 Spring Cloud就像一台品牌机,在Spring Source的集成下,进行了大量的兼容性测试,以保证更好的机器稳定性,但在使用原部件以外的部件时,必须对部件有充分的了解。Istio

Istio是一个用于连接、管理和保护微服务的开放平台。 Istio提供了一种在不更改服务代码的情况下构建具有负载平衡、服务间认证和监视等功能的预部署服务网络的简单方法。 要为服务添加Istio支持,只需在环境中部署特殊的侧车,使用Istio控制面板功能配置和管理代理,并阻止微服务之间的所有网络通信。

Istio目前只支持在Kubernetes上部署服务,而不是

来版本中将支持其他环境。
Conduit
Conduit是为Kubernetes设计的一个超轻型服务网格服务,它可透明地管理在Kubernetes上运行的服务的运行时通信,使得它们更安全可靠。Conduit提供了可见性、可靠性和安全性的功能,而无需更改代码。
Conduit service mesh也是由数据面板和控制面板组成。数据面板承载应用实际的网络流量。控制面板驱动数据面板,并对外提供北向接口。

参考博客

1.Java 微服务框架选型(Dubbo 和 Spring Cloud?)
2.谈谈微服务架构中的基础设施:Service Mesh与Istio
3.使用Istio治理微服务入门
4.微服务架构技术栈选型手册
5.以服务网格(Service Mesh)方式整合现有服务到微服务(基于SpringCloud)架构中
6.微服务并非Spring Cloud独角戏,Service Mesh未来大有可为
7.微服务等于Spring Cloud?一文告诉你微服务到底是什么。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。