使用Spring Cloud Alibaba创建微服务

使用Java构建Spring Cloud Alibaba 我们首先设置了环境,然后创建了一个新的Spring Cloud Alibaba项目,并配置了Nacos作为注册中心和配置中心。Spring Cloud Alibaba是一个基于Spring Cloud的开源框架,它提供了在微服务架构中构建分布式应用程序所需的一系列解决方案。它结合了Spring Cloud和Alibaba的开源项目,为开发人员提供了丰富的功能和工具,以简化微服务应用程序的开发和部署。通过使用Spring Cloud Alibaba提供的功能和工具,我们可以更轻松地构建和管理微服务应用程序。 阅读详情

使用Spring Cloud Alibaba创建微服务

1 Spring Cloud Alibaba对应的版本

版本选择很重要!!!

Spring Cloud生态组件版本
Spring CloudHoxton.SR3
Spring Boot2.2.5.RELEASE
Spring Cloud Openfeign2.2.2.RELEASE
Spring Cloud Gateway2.2.2.RELEASE
Spring Cloud Alibaba2.2.1.RELEASE
Nacos1.2.1
Dubbo2.7.6
Sentinel1.7.1
RocketMQ4.4.0
Seata1.2.0

2 Nacos

注意:安装nacos必须安装JDK1.8以上版本,单机模式不需要MySql,集群模式需要安装Mysql。

2.1 在Ubutu18.4中单机模式启动

# 下载Nacos,地址如下:
https://github.com/alibaba/nacos/releases/download/1.2.1/nacos-server-1.2.1.tar.gz
​
# (1) 解压nacos
tar -xzvf nacos-server-1.2.1.tar.gz
​
# (2) 进入nacos
cd nacos/bin/
​
# (3) 启动nacos
./startup.sh -m standalone;
​
# (4) 如果无法启动,查看一下是否是权限问题,如果不是权限问题,在命令前面添加“bash -f"
bash -f ./startup.sh -m standalone

2.2 使用nacos

输入以下地址:

http://localhost:8848/nacos/index.html

初始账号和秘密都是 nacos

3 创建服务提供者

创建工程名:provider

包名:com.mason.provider

如果在pom.xml中maven报错,为spring-boot-maven-plugin添加版本号,如下:

<plugins>
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <version>2.3.1.RELEASE</version>
    </plugin>
</plugins>

3.1 基本依赖

基础依赖的pom.xml文件。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.5.RELEASE</version>
        <relativePath/>
    </parent>
    <groupId>com.mason</groupId>
    <artifactId>nacos-server-provider-test-8081</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>nacos-server-provider-test-8081</name>
    <description>Nacos server provider project for Spring Boot</description>
    <properties>
        <java.version>11</java.version>
        <spring-cloud.version>Hoxton.SR3</spring-cloud.version>
        <spring.cloud.alibaba.version>2.2.1.RELEASE</spring.cloud.alibaba.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
​
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
​
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
​
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
​
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring.cloud.alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
​
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.1.RELEASE</version>
            </plugin>
        </plugins>
    </build>
​
</project>

3.2 创建yml文件

删除resources目录下的application.property,添加application-provider8081.yml、application-provider8082.yml两个文件,如下:

application-provider8081.yml

server:
  port: 8081
​
spring:
  application:
    name: provider-01
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
​
management:
  endpoints:
    web:
      exposure:
        include: '*'

application-provider8082.yml

server:
  port: 8082
​
spring:
  application:
    name: provider-01
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
​
management:
  endpoints:
    web:
      exposure:
        include: '*'

3.3 创建controller

在com.mason.provider包下创建目录controller(与ProviderApplication.java同级目录),并创建ProviderController.java文件。如下:

package com.mason.provider.controller;
​
​
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
​
@RestController
public class ProviderController {
​
    @Value("${server.port}")
    private String port;
​
    @GetMapping("/getData")
    public String getData(){
        return "Provider Hello World !  " + this.port;
    }
}

3.4 修改ProviderApplication

package com.mason.provider;
​
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
​
@SpringBootApplication
@EnableDiscoveryClient
public class ProviderApplication {
​
    public static void main(String[] args) {
        SpringApplication.run(ProviderApplication.class, args);
    }
​
}

3.5 测试

在idea同时启动两个微服务(参考另一篇博客“微服务集群简单搭建(Eureka)“配置),

启动的参数分别为(对应yml文件中application后的名称):--spring.profiles.active=provider8081,--spring.profiles.active=provider8082

在浏览器中输入地址如下:

http://localhost:8081/getData返回值是"Provider Hello World ! 8081",

http://localhost:8082/getData返回值是 "Provider Hello World ! 8082“

在nacos中可以看到,如下:

4 创建服务消费者

创建工程名:consumer

包名:com.mason.consumer

4.1 基本依赖

基础依赖的pom.xml文件。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.5.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.mason</groupId>
    <artifactId>consumer</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>consumer</name>
    <description>Nacos server consumer project for Spring Boot</description>
    <properties>
        <java.version>11</java.version>
        <spring-cloud.version>Hoxton.SR3</spring-cloud.version>
        <spring.cloud.alibaba.version>2.2.1.RELEASE</spring.cloud.alibaba.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
​
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
​
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
​
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
​
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
​
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring.cloud.alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
​
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.1.RELEASE</version>
            </plugin>
        </plugins>
    </build>
​
</project>

4.2 创建yml文件

将resources目录下的application.property,修改为application.yml文件,如下:

server:
  port: 8080
​
spring:
  application:
    name: consumer-01
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
​
management:
  endpoints:
    web:
      exposure:
        include: '*'

4.3 配置RestTemplate+Ribbon

com.mason.consumer包下创建目录util(与ConsumerApplication.java同级目录),并创建RestTemplateConfiguration.java文件,如下:

package com.mason.consumer.util;
​
​
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
​
@Configuration
public class RestTemplateConfiguration {
    // 使客户端负责均衡
    @LoadBalanced
    @Bean
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }
}
​

4.4 创建controller

在com.mason.consumer包下创建目录controller(与ConsumerApplication.java同级目录),并创建ConsumerController.java文件,如下:

package com.mason.consumer.controller;
​
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
​
@RestController
public class ConsumerController {
    
    // 设置服务提供着的名称
    private final String PROVIDER_URL = "http://provider-01";
​
    @Autowired
    private RestTemplate restTemplate;
​
    @GetMapping("/getData")
    public String getData(){
        return this.restTemplate.getForObject(PROVIDER_URL+"/getData", String.class);
    }
}

4.5 修改ConsumerApplication

package com.mason.consumer;
​
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
​
@SpringBootApplication
@EnableDiscoveryClient
public class ConsumerApplication {
​
    public static void main(String[] args) {
        SpringApplication.run(ConsumerApplication.class, args);
    }
​
}

4.6 测试

在浏览器中输入:http://localhost:8080/getData,可能看到返回值是"Consumer Hello World ! 8081",也可能是"Consumer Hello World ! 8082"。

在nacos中可以看到,如下:

Spring Cloud Alibaba微服务第12章之OpenFeign Feign 是 Spring Cloud 组件中的一个轻量级 RESTful 的 HTTP 服务客户端 Feign 内置了 Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。Feign的使用方式是:使用 Feign 的注解定义接口,调用这个接口,就可以调用服务注册中心的服务。 OpenFeign 是 Spring Cloud 在 Feign 的基础上支持了 SpringMVC 的注解,如 @GetMapping 等等。OpenFeign 的 @Feignclient 可以解析 SpringMVc 阅读详情

相关推荐

Spring Cloud Alibaba微服务架构实战教程—05项目雏形之框架搭建

前言 经过前面几张的分析,有光说不练假把式的味道,加之系统架构已经设计好,开发环境也已就绪,接下来,我们就要开工了,老规矩,开始之前,请以下思考问题。 微服务会将多个业务划分成多个项目来处理,如何统一的管理这些项目关系? 基于maven可以构建父子项目结构的微服务架构,它可以给我们提供: 统一依赖管理 控制插件版本 聚合项目 所以,我们创建的项目,会是一个maven结构的sprinboot项目。 一、创建父工程 假定父项目的工程名称为smartcar-project,建立springboot项目

空空说技术的博客 3254

spring-cloud-alibaba-dependencies、spring-cloud-dependencies和spring-boot-dependencies无法找到

这里是一个父项目,dependencyManagement使用来给所有子项目提供公共依赖的地方,所以这里的type和scope需要指定pom和import。意味着父项目只是单纯的声明依赖,子项目会继承父项目中的依赖。子项目在需要依赖时,先从自身pom中查找,如果没有找到,就从父项目的pom中查找,与Java中的继承机制类似。最终我发现我遗漏了 和 两个标签,通过查阅资料才恍然大悟,如梦初醒。按一开始我以为是我项目搭建错了,不断调试,不断百度。

m0_67403188的博客 3770

强化学习 之 Actor Critic

简介 Actor Critic是一种结合体算法: (1)Actor 的前生是 Policy Gradients,这能让它毫不费力地在连续动作中选取合适的动作,而 Q-learning 做这件事会瘫痪; (2)Critic 的前生是 Q-learning 或者其他的 以值为基础的学习法,能进行单步更新,而传统的 Policy Gradients 则是回合更新,这降低了学习效率。 算法思想 Actor...

Test_tju的博客 811

com.alibaba.cloud和org.springframework.cloud坐标的区别

值得注意的是,这两个依赖坐标虽然有一些不同,但它们的内容和API是一致的。因此,使用哪个坐标也可以取决于您的个人喜好或所在的环境。是 Spring Cloud 的官方组织,其开发人员维护了 Spring Cloud 的代码库,并将其推向 Maven 中央仓库。是 Spring Cloud 在阿里云中的镜像仓库,由阿里巴巴集团构建和维护,旨在为开发者提供更好的访问速度和更稳定的仓库。都是 Spring Cloud 的国内和国际版本的依赖的坐标,它们拥有相同的功能和类库,但是构建和维护它们的组织不同。

qheuwq的博客 659

ROS2实战:打造智能巡检机器人的关键技术与实现

本文详细介绍了基于ROS2和Navigation2构建智能巡检机器人的完整实战流程。通过设计主从协作的事件驱动架构,实现了机器人在已知地图中的自动导航、定点语音播报和环境图像采集功能。文章涵盖了从环境搭建、仿真配置到核心控制节点、语音服务与图像记录模块的代码实现,为开发者打造实用的自动巡检机器人提供了清晰的技术指南。

weixin_29031057的博客 223

ACL访问控制列表详解:原理、配置与应用

如果发现ACL规则没有达到预期效果,需要检查ACL规则配置是否正确,是否在正确的接口和方向上应用,以及规则顺序是否合理(ACL规则按顺序匹配,匹配到即停止)。其中,rule-id是规则的编号,用于确定规则的匹配顺序;例如,应该先配置针对特定主机和特定端口的规则,再配置针对整个网段的规则,最后配置允许所有流量的规则,这样才能确保ACL按照预期工作,避免因规则顺序不当导致的访问控制失效。例如,应该先配置针对特定主机的规则,再配置针对整个网段的规则,最后配置允许所有流量的规则,这样才能确保ACL按照预期工作。

彭大帅的博客 1048

SpringCloud - Alibaba

SpringCloud - Alibaba项目聚合模块NacosSpring Cloud Alibaba Nacos DiscoverySpring Cloud Alibaba Nacos Config 项目聚合模块 版本依赖关系 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSch

weixin_43985446的博客 435

igh ethercat 实时性测试

组备注std(us)max(us)a无锁核,无rt补丁8.38108b锁核+FIFO调度+内存锁定,无rt补丁0.9216c锁核+FIFO调度+内存锁定,+rt补丁0.9922可以看到 a组 使用ethercat不做其他优化,周期抖动非常大,且max能达到 100 多 us;通过 锁核+FIFO调度+内存锁定 进行优化,可以看到 抖动明显降低,且max 为 20 us 左右;

qq_43353632的博客 2310

Springcloud Alibaba详细入门教程(一)

【代码】Springcloud Alibaba详细入门教程(一)

m0_67392273的博客 1579

SQL手工注入及sqlmap注入(文章管理系统实例练习)

sql手工注入及sqlmap注入练习

weixin_53303754的博客 523

傻瓜教程:使用GeoServer发布离线地图服务

一、离线地图下载 离线地图分为两种:一种叫“金字塔瓦片”数据,一种叫“矢量地图数据”。我们看的在线地图比如,百度,谷歌,高德等等网页上的地图,都是金字塔瓦片;另外一种是手机上用来导航的,比如高德地图APP,也可以下载离线地图数据,这个就是矢量的。 卫星影像地图都是金字塔瓦片,无矢量数据。 因此,我们所说的离线地图下载通常都是指离线地图金字塔瓦片数据下载。 离线地图金字塔瓦片搭建的离线地图服务分很多种:一般有WEB方式,TMS、WMTS/WMS等等,不同的应用有不同...

米兰的小码农的博客 1万+

七、SpringCloud Alibab-项目实战部署

基础搭建注册到Nacos配置GatewayNacos配置管理。

JiEunk的博客 605

【26美赛E题 Passive Solar Shading】2026美赛数学建模(MCM/ICM)思路解析及代码分享

本文研究了被动太阳能遮阳(PSS)策略在建筑节能中的应用,针对Sungrove大学(低纬高温)和Borealis大学(高纬寒冷)两种典型气候条件,建立了动态太阳辐射-热平衡模型。通过优化遮阳结构(外檐长度、百叶角度)、窗户布局和内部热质量分布,实现了夏季制冷负荷降低30-40%(Sungrove)和冬季采暖负荷减少15-25%(Borealis)。创新性地采用全天候动态遮阳建模方法,结合热质量优化与储能设计,提出了可适应不同气候条件的建筑节能解决方案,为未来可持续建筑设计提供了量化框架。

一键难忘的博客 949

搭建你的第一个Spring Cloud Alibaba微服务

通过以上步骤,我们快速创建了一个包含服务注册与发现以及配置中心功能的Spring Cloud Alibaba微服务应用。这是一个开始,你可以继续学习和扩展这个示例,以包括更多Spring Cloud Alibaba提供的功能,如分布式事务、消息驱动等。希望本文能帮助你快速入门Spring Cloud Alibaba,搭建出真正适合生产环境的微服务架构体系。继续深入学习,每一个小功能都能优化和增强你的微服务应用。

penggerhe的博客 1867

【部署】Kimi 接入OpenClaw完整步骤及关键注意事项

本文详细介绍了如何将Kimi AI接入OpenClaw系统的完整步骤。首先需确保环境满足OpenClaw版本要求和系统支持,然后通过配置向导完成本地网关设置和Kimi模型接入,包括API密钥配置。文章提供了详细的命令操作和界面截图指导,并重点说明了安全警告处理、服务状态检查、API密钥有效性验证等关键注意事项。最后还展示了Kimi流量消耗明细和问题排查方法,帮助用户顺利完成接入并解决常见问题。整个流程清晰明了,涵盖了从环境准备到最终验证的全部环节。

海兰 7185

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Spring微服务学习笔记之Spring Cloud Alibaba远程服务调用实战

借助于Spring Cloud提供的诸如服务发现、负载均衡等功能,开发者能够轻松实现高效的服务调用,确保即使在极端情况下也能维持良好的用户体验。

Grumpy_Amber的博客 1406

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

springCloud-Alibaba——微服务之间使用Feign进行请求调用

springCloud-Alibaba——微服务之间使用Feign进行请求调用

LSY_优快云_的博客 3449

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

spring cloud alibaba-Geteway详解

*** 自定义的VIP路由断言工厂类,用于根据请求参数判断是否匹配VIP路由。* 继承自AbstractRoutePredicateFactory,实现了自定义路由断言逻辑。/*** 构造函数,指定配置类为Config。} /*** 实现apply方法,根据Config中的配置生成路由断言逻辑。* @param config 配置对象,包含请求参数名和期望值。

qq_62374596的博客 1279

Spring cloud alibaba--环境搭建

1.运行环境 (1)jdk 1.8+ (2)maven 3.2.x+ 2.使用ieda搭建项目 (1)先创建一个父项目,用于管理子项目,给子项目提供依赖 ①file->new->Module打开创建面板 ②可以选择maven或者Spring Initializr方式,我们选择Spring Initializr方式 ③填写项目的Group、Artifact信息,选择packaging只有jar和war,等创建完后再改写pom.xml中的packaging为pom。 ④选择一个.

ZHANGLIZENG的博客 1726

微服务 Spring Cloud Alibaba 项目搭建(二、父工程创建)

一、File - New - Project 二、选择maven -选择 jdk- Next 三、修改Name - 修改GroupId - Finish 四、删除文件下src文件夹 五、修改父工程pom.xml文件 <!-- 父工程 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-star

w_shimmer的博客 2393

Spring Cloud Alibaba 使用指南

通过本文,你已经学会了如何使用 Spring Cloud Alibaba 的核心组件,包括 Nacos 和 Sentinel。Spring Cloud Alibaba 提供了强大的工具和组件,帮助开发者快速构建高可用、高性能的微服务系统。希望本文能帮助你快速入门并应用到实际项目中。

Myqijiahai的博客 1250

完整搭建Spring Cloud微服务(二) 创建一个springBoot 服务并注册

这里只讨论微服务入门级的整合与操作步骤,具体更深入的原理与高级用法,可以在后续的使用过程中,逐步添加上来。 微服务架构,在实现业务的部分,是由一个又一个的服务组成的。因为我选择使用springcloud,所以最为直接的,就是使用springBoot作为服务架构,这是原生支持的,所以用起来也是比较顺手的。 从最底层开始,我们要创建一个最为基本的springBoot服务。springBoot项目...

YuGuHan的博客 4139

springcloud使用微服务的搭建

给你一个下标从开始的整数数组numbers,该数组已按,请你从数组中找出满足相加之和等于目标数target的两个数。如果设这两个数分别是和,则。以长度为 2 的整数数组的形式返回这两个整数的下标index1和index2。你可以假设每个输入,而且你重复使用相同的元素。你所设计的解决方案必须只使用常量级的额外空间。

无人罪的博客 728

Spring Cloud Alibaba 整合 Scala 教程完整使用

SpringCloud整合Scala教程,微服务实战教程,Java微服务教程,企业实战开发应用

小坏说Java,一个专注Java微服务架构的实战,Java全栈教程,SpringBoot, SpringCloud微服务到分布式、高并发架构,大数据开发,运维实战,K8S、Docker容器为一体的教程,结合企业级内部的技术栈学习 1031

阿里大哥手把手教你从零到一搭建Spring Cloud Alibaba!太强了

现在软件后端开发普遍都偏向微服务开发了,而我们Java程序员开发有谁不知道Spring呢?Spring社区有大一统java的趋势,快速构建一个单体单元SpringBoot,分布式微服务解决方案以及核心的和各种组件等等。今天的主角之一就是,它是一个分布式的微服务解决方案。区别于Dubbo,Dubbo只是一个远程rpc调用框架。而前者则是一整套的解决方案,包括服务注册、服务调用、负载均衡、服务网关、服务降级与熔断、分布式配置管理、消息总线等等技术。也就是说自成一个生态。

java_beautiful的博客 632

spring cloud alibaba ——sidecar服务异构

Spring Cloud Alibaba Sidecar是一个轻量级框架,用于整合异构微服务(如Python、Node.js)到Spring Cloud生态中。它通过将异构服务的IP/端口注册到服务发现组件(如Nacos),实现服务发现、负载均衡和健康检查。异构服务需提供HTTP接口和健康检查端点。优点包括无缝集成、统一监控和配置管理;缺点涉及资源开销和复杂性增加。示例中,Python Flask服务通过Sidecar代理注册到Nacos,Spring Boot应用通过服务名直接调用Python接口。Sid

yzzdid的博客 1332
上一篇: 微服务集群简单搭建(Eureka)
下一篇: Nacos配置中心
MasonYyp
博客等级 码龄9年 301粉丝 297原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值