01 微服务和SpringCloud Alibaba介绍

457 阅读2分钟

学习课程:目前B站最好的SpringCloudAlibaba教程全套100集,从入门到精通保姆级教程!(2022最新版)

1. SpringCloud Alibaba介绍

SpringCloud Alibaba致力于提供微服务开发的一站式解决方案,此项目包含开发微服务架构的必须组件,方便开发者通过SpringCloud编程模型轻松使用这些组件来开发微服务架构。 image.png

常用的微服务组件: image.png

微服务架构: image.png

image.png

2. SpringCloud和SpringBoot关系

SpringBoot专注于快速方便的开发单个个体微服务。

SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来,为各个微服务之间提供:配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞争、分布式会话等等集成服务。

SpringBoot专注于快速、方便的开发单个微服务个体;SpringCloud关注全局的服务治理框架。

3. SpringCloud Alibaba环境搭建

搭建流程:

  1. 基于SpringBoot的父maven工程(File ->new -> Project -> Spring Initializr)
  2. 分别创建订单服务模块和库存模块(File -> new -> module -> maven)

版本说明:link

  • SpringCloud Alibaba:2.2.5.RELEASE
  • SpringBoot:2.3.2.RELEASE
  • SpringCloud:Hoxton.SR8

父pom.xml配置:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>${spring.boot.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>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring.cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

该课程下:快速启动微服务架构

springcloud快速启动:

0.启动mysql nacos库 + scd_order/stock库
	root/789456
	连接错误解决:https://yangxunyu.xyz/?p=53

1.启动nacos8849、88508851:sh startup.sh
	http://192.168.1.7:8849/nacos/index.html
	http://192.168.1.7:8850/nacos/index.html
	http://192.168.1.7:8851/nacos/index.html
	192.168.1.7是本机ip地址!
	查看本机ip地址:ifconfig | grep inet

2.启动Nginx:
	a. nginx的启动
		nginx
	b. 查看当前 nginx 运行的进程
		ps -ef | grep nginx
	c. 启动后访问nacos后台(nginx监听的是8847端口)
		http://192.168.1.7:8847/nacos/index.html

3.调整项目中的nacos server地址为:192.168.1.7:8847
	本地启动报错:failed to req API:/nacos/v1/ns/instance after all servers xxx
	解决:https://blog.csdn.net/Maven_Chen/article/details/128468044

4.启动sentinel控制台: 
	java -jar -Dserver.port=8848 sentinel-dashboard-1.8.0.jar
	访问控制台:http://localhost:8848/#/login

5. 启动seata:
	sh seata-server.sh -p 8091 -n 1 ;
	本地启动报错:服务启动出现no available service ‘null‘ found, please make sure registry config correct
	解决:https://blog.csdn.net/qq_41731201/article/details/124722904