Spring Cloud 从H版本之后命名方式改为2020.x.x,话说为毛最新版本不是2021命名,来自强迫症的难受
使用组件列表:
-
注册中心:nacos,替代方案eureka、consul、zookeeper
-
配置中心: nacos ,替代方案sc config、consul config
-
调用:feign,替代方案:resttempate
-
熔断:sentinel、,替代方案:Resilience4j
-
熔断监控:sentinel dashboard
-
负载均衡:sc loadbalancer
-
网关:spring cloud gateway
-
链路:spring cloud sleuth+zipkin,替代方案:skywalking等
总体架构图
版本关系
使用nacos作为注册中心和配置中心
下载nacos
下载地址:https://github.com/alibaba/nacos
导入数据库
创建mysql数据库nacos,导入 conf/nacos-mysql.sql
配置数据库
修改 conf/application.properties
#*************** Config Module Related Configurations ***************#
If use MySQL as datasource:
spring.datasource.platform=mysql
Count of DB:
db.num=1
Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=123456
配置启动模式
将nacos设为单机模式启动,编辑 bin/startup.cmd 将MODE 修改为:
set MODE=“standalone”
启动运行
登陆页面:http://localhost:8848/nacos/,登陆用户nacos,登陆密码为nacos
工程案例
工程案例源码:https://github.com/java-aodeng/springcloud2020-demo-1
工程案例包括2个,一个服务提供者provider 、服务消费者consumer
Spring Boot 基础就不介绍了,推荐下这个实战教程: https://www.javastack.cn/categories/Spring-Boot/
在父pom文件引入相关的依赖,如下:
<java.version>1.8</java.version>
<spring-boot.version>2.4.4</spring-boot.version>
<spring-cloud.version>2020.0.2</spring-cloud.version>
<spring-cloud-alibaba.version>2020.0.RC1</spring-cloud-alibaba.version>
org.springframework.boot
spring-boot-dependencies
${spring-boot.version}
pom
import
org.springframework.cloud
spring-cloud-dependencies
${spring-cloud.version}
pom
import
com.alibaba.cloud
spring-cloud-alibaba-dependencies
${spring-cloud-alibaba.version}
pom
import
服务提供者provider
在pom文件引入以下依赖:
org.springframework.boot
spring-boot-starter-web
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
配置文件:
server:
port: 8762
spring:
application:
name: provider
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
启动入口添加注解:
@SpringBootApplication
@EnableDiscoveryClient
public class ProviderApplication {
public static void main(String[] args) {
SpringApplication.run(ProviderApplication.class,args);
}
}
写个接口:
@RestController
public class DemoController {
@Value(“${server.port}”)
String port;
@GetMapping(“getInfo”)
public String getInfo(@RequestParam(value = “name”,defaultValue = “nacosConfig”,required = false)String name){
return "my name is “+name+”,my port is "+port;
}
}
服务消费者consumer
在pom文件引入以下依赖:
org.springframework.boot
spring-boot-starter-web
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
org.springframework.cloud
spring-cloud-starter-openfeign
org.springframework.cloud
spring-cloud-starter-loadbalancer
配置文件
server:
port: 8763
spring:
application:
name: consumer
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
在工程的启动入口开启FeignClient的功能
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class ConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(ConsumerApplication.class,args);
}
}
写一个FeignClient,去调用provider服务的接口:
@FeignClient(value = “provider”)
public interface ProviderClient {
@GetMapping(“getInfo”)
String getInfo(@RequestParam(value = “name”,defaultValue = “nacosConfig”,required = false)String name);
}
写一个接口,让consumer去调用provider服务的接口:
@RestController
public class DemoController {
@Autowired
ProviderClient providerClient;
@GetMapping(“getInfoByFeign”)
public String getInfoByFeign(){
return providerClient.getInfo(“consumer feign”);
}
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

最后
经过日积月累, 以下是小编归纳整理的深入了解Java虚拟机文档,希望可以帮助大家过关斩将顺利通过面试。
由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示 。
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
斩将顺利通过面试。**
由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示 。
[外链图片转存中…(img-qtGvxV6O-1713297913797)]
[外链图片转存中…(img-ufqZcTOt-1713297913797)]
[外链图片转存中…(img-Dy8E7HO3-1713297913797)]
[外链图片转存中…(img-1GGNDuOf-1713297913797)]
[外链图片转存中…(img-znxOThT3-1713297913798)]
[外链图片转存中…(img-KwvPSzJe-1713297913798)]
[外链图片转存中…(img-yREiwtDE-1713297913798)]
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!