广告
返回顶部
首页 > 资讯 > 后端开发 > Python >详解多云架构下的JAVA微服务技术解析
  • 168
分享到

详解多云架构下的JAVA微服务技术解析

2024-04-02 19:04:59 168人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录微服务生态多云微服务架构的两种方案采用开源微服务框架适配多供应商开发框架微服务生态 微服务生态本质上是一种微服务架构模式的实现,包括微服务开发SDK,以及微服务基础设施。 目前比

微服务生态

微服务生态本质上是一种微服务架构模式的实现,包括微服务开发SDK,以及微服务基础设施。

目前比较成熟的 JAVA 微服务生态包括 servicecomb(华为), spring-cloud (Pivotal), dubbo(阿里), tsf(腾讯)等。grpc、Thrift 等也用于内部服务之间的通信,但是微服务基础设施比较欠缺。

核心的微服务基础设施包括:注册中心、配置中心、应用网关。此外,分布式事物管理、计划任务、调用链跟踪系统等也是微服务基础设施的组成部分。完整的微服务基础实施还包括开发使能工具,包括接口管理工具、灰度发布管理、代码生成等,这部分主要由云厂商提供,比较少开源方案。

微服务生态的核心是 SDK,而 SDK 的核心是 rpc 框架,这个是不同微服务生态的本质区别。在基础设施方面,不同的微服务生态是可以相互选择的,比如 spring-cloud 生态可以采用 spring-cloud-huawei 接入servicecomb 提供的注册中心 servicecomb-service-center、配置中心 servicecomb-kie,也可以通过 spring-cloud-alibaba 接入阿里的配置中心;servicecomb 也可以通过引入扩展,使用其他的配置中心。一些基础的开发组件,比如 spring、Spring Boot,这些微服务开发 SDK 都支持集成。

对微服务生态进行比较是一个很难的课题。下面的表格仅对一些核心功能进行比较。使能工具、核心基础设施、可选基础设施等方面,不同的微服务生态是可以相互使用的,这里的比较只针对该生态原生提供的来说,并不代表某个微服务生态缺少这块功能,该生态的开发者用不了这方面的能力。对于开源生态应该采用一个大生态的眼光来看待,每个生态的设计者也会尽可能融入其他生态,继承和复用其他生态的能力。但是在商业选型上,需要考虑技术支持等因素。

对微服务生态的比较的另外一个视角就是如何构建微服务应用架构。 一般的微服务应用架构会包括应用网关、业务微服务和静态页面。静态页面的部署相对比较灵活,可以放到应用网关内部,也可以放到应用网关,还可以放到应用网关外面。其中放到网关里面的方式最灵活,比如可以通过配置网关的负载均衡策略,将请求转发到用户最近的region,也可以对部分静态页面进行访问控制。

增加应用网关可以增强应用系统的弹性,能够支撑系统的持续演进(参考分析文章),同时可以结合网络基础设施,更好的实现应用系统的能力开放。比如如果接入层使用 api Gateway 挂载,可以很好的实现内部系统的能力开放和计费;使用LVS接入,只可以提高转发性能,比较适合访问量大的应用,接入网关逻辑少,应用网关可以弹性扩容;使用DNS则对于网站很有用,屏蔽用户访问的地址差异,并且可以使用DNS将请求转发到不同区域的应用网关。

Servicecomb, spring-cloud 都能够很好的支持这种架构,而 dubbo 对这种架构支持的不是很好,很多 dubbo 开发者都是通过在业务服务之外增加一个接入层,使用 spring-cloud 的应用网关来搭建这个应用架构。

多云微服务架构的两种方案

采用开源微服务框架

很多业务系统的构建,都是从选择一个开源方案开始。 一般会首先选择一个微服务开发 SDK, 然后选择其他的微服务基础设施。 对于自主研发的情况,微服务基础设施也会选择开源方案。 比如选择 ServiceComb 微服务开发 SDK 的场景,可以通过在不同的云上部署开源服务,来实现一套系统,多个云上运行。 云厂商如果存在微服务基础设施的商业版本, 可以在云上购买使用, 使用云产商提供的基础设施服务,通常可以降低自己运维的成本,并能够得到更好的性能优化和可靠性支持。

另外一个开源解决方案是部分集成云产商提供的组件,尽可能多的使用云产商的基础设施。 比如选择 spring cloud 微服务解决方案, 可以使用 spring-cloud-huawei, spring-cloud-alibaba 等云产商提供的扩展,使用云上的基础设施。

下面对开源解决方案的评估点做一个总结

1. 只需要维护一套代码和熟悉一个开发框架,多云运行。不同云的运行体验存在差异,可以部分使用云厂商的中间件。 如果其他云没有对应的中间件,需要自行安装和维护中间件。

2. 微服务框架选型之前,需要考虑“基础设施”是否也开源。比如微服务基础设施最重要的中间件“配置中心”、“注册中心”和“应用网关”。开源可获得性是一套代码,多云运行的前提。

适配多供应商开发框架

每个云产商都存在一个主打的微服务开发框架, 使用主打微服务开发框架能够最好使用云产商提供的微服务基础设施。 为了在不同的云上, 获得最佳的微服务管理能力,需要尽可能使用对应云的主打框架。 但是维护多套代码是困难的。 适配多供应商的开发框架, 需要对核心业务做好分离,避免重复开发,然后将适配层做薄,只实现简单适配,降低开发难度。 大部分 JAVA 微服务开发框架都支持 Spring, 因此可以采用下面的设计模式,实现一套核心代码,编译成多个云产商开发框架的可执行程序的多云版本。

上图是一个微服务的内部结构,一个微服务可能包含如下几个目录:

* application-core

* application-runtime-servicecomb

* application-runtime-hsf

下面对适配多供应商开发框架方案的评估点做一个总结:

1. 需要做好业务抽象,并熟悉多个开源微服务开发框架,相对于开源自建方案维护成本高。

2. 不需要考虑自行安装和维护基础中间件的问题,云厂商自己的微服务框架,一般针对这个框架提供了各种中间件支持,使用和接入开发成本低。

3. 这种方案是优秀代码架构设计。在开源方案中,也建议做好核心业务逻辑分离和接口抽象,每个方案适配不同云厂商非微服务基础设施(比如数据库、对象存储、EI等功能)也都是需要的。

以上就是详解多云架构下的JAVA微服务技术解析的详细内容,更多关于多云架构下的JAVA微服务技术解析的资料请关注编程网其它相关文章!

--结束END--

本文标题: 详解多云架构下的JAVA微服务技术解析

本文链接: https://www.lsjlt.com/news/126229.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 详解多云架构下的JAVA微服务技术解析
    目录微服务生态多云微服务架构的两种方案采用开源微服务框架适配多供应商开发框架微服务生态 微服务生态本质上是一种微服务架构模式的实现,包括微服务开发SDK,以及微服务基础设施。 目前比...
    99+
    2022-11-12
  • spring cloud微服务分布式云架构 - 整合企业架构的技术点
    spring cloud本身提供的组件就很多,但我们需要按照企业的业务模式来定制企业所需要的通用架构,那我们现在需要考虑使用哪些技术呢?有spring cloud b2b2c电子商务需求的朋友可以加企鹅求求:三五三六二四七二五九下面我针对于...
    99+
    2023-06-05
  • 阿里云架设网游服务器技术详解与优势分析
    随着互联网技术的发展,网络游戏已经成为人们日常生活中不可或缺的一部分。而在这种背景下,如何保证网络游戏的稳定运行,成为了游戏开发者和运维人员所关注的重要问题。而在这个过程中,云服务器的作用则显得尤为重要。本文将详细介绍阿里云架设网游服务器的...
    99+
    2023-12-18
    阿里 网游 详解
  • (二)spring cloud微服务分布式云架构 - 整合企业架构的技术点
    spring cloud本身提供的组件就很多,但我们需要按照企业的业务模式来定制企业所需要的通用架构,那我们现在需要考虑使用哪些技术呢?下面我针对于spring cloud微服务分布式云架构做了以下技术总结,希望可以帮助到大家:View:&...
    99+
    2023-06-05
  • 阿里云服务器的分布式架构详解
    阿里云服务器是阿里云为用户提供的一系列云服务器产品,涵盖了多种计算和存储资源。其中,分布式架构是阿里云服务器的重要特性之一,它可以帮助用户更高效地管理和利用计算资源。本文将详细介绍阿里云服务器的分布式架构,包括它的基本概念、实现方式以及优势...
    99+
    2023-11-02
    阿里 分布式 详解
  • 虚拟机和云服务器:互通的技术解析
    1. 虚拟机和云服务器的基本概念 虚拟机(Virtual Machine,简称VM)是一种在物理计算机上模拟运行的虚拟计算机系统。它通过虚拟化技术将一台物理计算机划分为多个独立的虚拟环境,每个虚拟环境都可以运行自己的操作系统和应用程序。 ...
    99+
    2023-10-27
    虚拟机 服务器 技术
  • 阿里云解析腾讯云服务器技术与应用的交织
    随着互联网的发展,企业对云计算服务的需求越来越大。阿里云和腾讯云作为中国领先的云服务提供商,它们的产品和服务在市场中有着极高的知名度和影响力。本文将从技术层面和应用层面,详细解析阿里云解析腾讯云服务器的相关问题。 技术层面:阿里云解析腾讯云...
    99+
    2023-11-15
    腾讯 阿里 服务器
  • 阿里云架构CSGO服务器不可用的原因分析及解决办法
    随着游戏行业的不断发展,越来越多的游戏服务器开始采用云架构。然而,最近有玩家反映阿里云架构的CSGO服务器经常不可用,这给玩家带来了很大的困扰。那么,阿里云架构的CSGO服务器为何会出现这种情况呢?又应该如何解决呢?本文将对这些问题进行详细...
    99+
    2023-11-13
    阿里 解决办法 不可用
  • 阿里云2核4g服务器多少钱一个小时解析服务器租赁价格的构成因素及建议
    阿里云是全球领先的云计算服务提供商,提供了丰富多样的服务器租赁服务。本文将针对“阿里云2核4g服务器多少钱一个小时”这一关键词进行详细解析,并给出相应的建议。 首先,我们需要明确一点:阿里云2核4g服务器的价格并不是一成不变的,而是由多种因...
    99+
    2023-12-16
    服务器 阿里 多少钱
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作