Skip to content

Commit ddb5e45

Browse files
author
leelovejava
committed
modify C2C电商系统微服务架构120天实战训练营
1 parent a153fdb commit ddb5e45

36 files changed

+767
-0
lines changed

docs/c2c/37.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#《37_微服务化的系统是如何发生服务雪崩的?》
2+
3+
4+
雪崩、熔断、限流、降级
5+
6+
7+
Tomcat收到的每一个HTTP请求,都会交给一个独立的工作线程去处理,独立的工作线程一般可以配置为100~500之间的数量,看的是你的CPU有几个核,支持的线程数量就越多,4核,线程数量在200~300之间
8+
9+
10+
spring mvc、struts2这样的mvc框架,框架一般会把自己的servlet/filter配置在tomcat里面,tomcat就会把http请求交给mvc框架的servlet/filter,mvc框架就开始执行,处理请求
11+
12+
13+
mvc框架往往会扫描到你加了@Controller注解的类,扫描你里面的@Mapping注解,看看这个请求的URL路径格式和@Mapping注解里的指定的URL格式来做一个匹配,会把请求交给你的类里面的方法来处理
14+
15+
16+
17+
微服务之间调用的一个线程模型了解清楚,任何请求在分布式系统里执行,每个服务里都有一个线程会去处理这个请求
18+

docs/c2c/38.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
2+
#《38_为什么微服务化的系统需要进行限流和熔断?》
3+
4+
5+
雪崩、隔离、熔断、降级、限流
6+
7+
8+
Tomcat收到的每一个HTTP请求,都会交给一个独立的工作线程去处理,独立的工作线程一般可以配置为100~500之间的数量,看的是你的CPU有几个核,支持的线程数量就越多,4核,线程数量在200~300之间
9+
10+
11+
spring mvc、struts2这样的mvc框架,框架一般会把自己的servlet/filter配置在tomcat里面,tomcat就会把http请求交给mvc框架的servlet/filter,mvc框架就开始执行,处理请求
12+
13+
14+
mvc框架往往会扫描到你加了@Controller注解的类,扫描你里面的@Mapping注解,看看这个请求的URL路径格式和@Mapping注解里的指定的URL格式来做一个匹配,会把请求交给你的类里面的方法来处理
15+
16+
17+
18+
微服务之间调用的一个线程模型了解清楚,任何请求在分布式系统里执行,每个服务里都有一个线程会去处理这个请求
19+

docs/c2c/39.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#《39_Sentinel、Hystrix等技术的选型对比》
2+
3+
4+
Spring Cloud Netflix,Hystrix这个项目,功能层面还是挺好用的,但是他的源码写的特别的烂,运用了特别奇怪的代码方式,源码,架构班,sprin cloud netflix源码剖析的课程里面,我深入分析过hystrix的源码的
5+
6+
Spring Cloud Alibaba,Sentinel这个项目
7+
8+
https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8D
9+
10+
雪崩、隔离、熔断、降级、限流
11+
12+
13+
Tomcat收到的每一个HTTP请求,都会交给一个独立的工作线程去处理,独立的工作线程一般可以配置为100~500之间的数量,看的是你的CPU有几个核,支持的线程数量就越多,4核,线程数量在200~300之间
14+
15+
16+
spring mvc、struts2这样的mvc框架,框架一般会把自己的servlet/filter配置在tomcat里面,tomcat就会把http请求交给mvc框架的servlet/filter,mvc框架就开始执行,处理请求
17+
18+
19+
mvc框架往往会扫描到你加了@Controller注解的类,扫描你里面的@Mapping注解,看看这个请求的URL路径格式和@Mapping注解里的指定的URL格式来做一个匹配,会把请求交给你的类里面的方法来处理
20+
21+
22+
23+
微服务之间调用的一个线程模型了解清楚,任何请求在分布式系统里执行,每个服务里都有一个线程会去处理这个请求
24+

docs/c2c/40.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
#《40_SpringCloudAlibaba之Sentinel限流熔断框架》
3+
4+
5+
Spring Cloud Netflix,Hystrix这个项目,功能层面还是挺好用的,但是他的源码写的特别的烂,运用了特别奇怪的代码方式,源码,架构班,sprin cloud netflix源码剖析的课程里面,我深入分析过hystrix的源码的
6+
7+
Spring Cloud Alibaba,Sentinel这个项目
8+
9+
https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8D
10+
11+
雪崩、隔离、熔断、降级、限流
12+
13+
14+
Tomcat收到的每一个HTTP请求,都会交给一个独立的工作线程去处理,独立的工作线程一般可以配置为100~500之间的数量,看的是你的CPU有几个核,支持的线程数量就越多,4核,线程数量在200~300之间
15+
16+
17+
spring mvc、struts2这样的mvc框架,框架一般会把自己的servlet/filter配置在tomcat里面,tomcat就会把http请求交给mvc框架的servlet/filter,mvc框架就开始执行,处理请求
18+
19+
20+
mvc框架往往会扫描到你加了@Controller注解的类,扫描你里面的@Mapping注解,看看这个请求的URL路径格式和@Mapping注解里的指定的URL格式来做一个匹配,会把请求交给你的类里面的方法来处理
21+
22+
23+
24+
微服务之间调用的一个线程模型了解清楚,任何请求在分布式系统里执行,每个服务里都有一个线程会去处理这个请求
25+

docs/c2c/41.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#《41_SpringCloudAlibaba之Sentinel框架原理》
2+
3+
4+
授人以渔
5+
6+
看一个新的技术,首先是先了解他的一个基本的介绍,包括他的定位、功能、特性、问题;了解一下他是怎么用起来的,看一下他最最基本的一些demo,引入依赖、注解/代码/配置、功能
7+
8+
看看官网的技术文档,了解一下他基本的工作原理,看看这个技术假设在一个最基本的demo的指引下,集成和整合到你的项目里去以后,用起来了,用了他的一些功能了,解决了一些问题了,这背后基本的原理是什么
9+
10+
对阻塞线程数的控制 + 熔断 + 降级,解决了服务雪崩的问题
11+
12+
Spring Cloud Netflix,Hystrix这个项目,功能层面还是挺好用的,但是他的源码写的特别的烂,运用了特别奇怪的代码方式,源码,架构班,sprin cloud netflix源码剖析的课程里面,我深入分析过hystrix的源码的
13+
14+
Spring Cloud Alibaba,Sentinel这个项目
15+
16+
https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8D
17+
18+
雪崩、隔离、熔断、降级、限流
19+
20+
21+
Tomcat收到的每一个HTTP请求,都会交给一个独立的工作线程去处理,独立的工作线程一般可以配置为100~500之间的数量,看的是你的CPU有几个核,支持的线程数量就越多,4核,线程数量在200~300之间
22+
23+
24+
spring mvc、struts2这样的mvc框架,框架一般会把自己的servlet/filter配置在tomcat里面,tomcat就会把http请求交给mvc框架的servlet/filter,mvc框架就开始执行,处理请求
25+
26+
27+
mvc框架往往会扫描到你加了@Controller注解的类,扫描你里面的@Mapping注解,看看这个请求的URL路径格式和@Mapping注解里的指定的URL格式来做一个匹配,会把请求交给你的类里面的方法来处理
28+
29+
30+
31+
微服务之间调用的一个线程模型了解清楚,任何请求在分布式系统里执行,每个服务里都有一个线程会去处理这个请求
32+

docs/c2c/42.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
2+
#《42_C2C电商社会化治理平台基于Sentinel实现限流》
3+
4+
5+
授人以渔
6+
7+
看一个新的技术,首先是先了解他的一个基本的介绍,包括他的定位、功能、特性、问题;了解一下他是怎么用起来的,看一下他最最基本的一些demo,引入依赖、注解/代码/配置、功能
8+
9+
看看官网的技术文档,了解一下他基本的工作原理,看看这个技术假设在一个最基本的demo的指引下,集成和整合到你的项目里去以后,用起来了,用了他的一些功能了,解决了一些问题了,这背后基本的原理是什么
10+
11+
对阻塞线程数的控制 + 熔断 + 降级,解决了服务雪崩的问题
12+
13+
Spring Cloud Netflix,Hystrix这个项目,功能层面还是挺好用的,但是他的源码写的特别的烂,运用了特别奇怪的代码方式,源码,架构班,sprin cloud netflix源码剖析的课程里面,我深入分析过hystrix的源码的
14+
15+
Spring Cloud Alibaba,Sentinel这个项目
16+
17+
https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8D
18+
19+
雪崩、隔离、熔断、降级、限流
20+
21+
22+
Tomcat收到的每一个HTTP请求,都会交给一个独立的工作线程去处理,独立的工作线程一般可以配置为100~500之间的数量,看的是你的CPU有几个核,支持的线程数量就越多,4核,线程数量在200~300之间
23+
24+
25+
spring mvc、struts2这样的mvc框架,框架一般会把自己的servlet/filter配置在tomcat里面,tomcat就会把http请求交给mvc框架的servlet/filter,mvc框架就开始执行,处理请求
26+
27+
28+
mvc框架往往会扫描到你加了@Controller注解的类,扫描你里面的@Mapping注解,看看这个请求的URL路径格式和@Mapping注解里的指定的URL格式来做一个匹配,会把请求交给你的类里面的方法来处理
29+
30+
31+
32+
微服务之间调用的一个线程模型了解清楚,任何请求在分布式系统里执行,每个服务里都有一个线程会去处理这个请求
33+

docs/c2c/43.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#《43_C2C电商社会化治理平台基于Sentinel实现资源隔离》
2+
3+
4+
授人以渔
5+
6+
看一个新的技术,首先是先了解他的一个基本的介绍,包括他的定位、功能、特性、问题;了解一下他是怎么用起来的,看一下他最最基本的一些demo,引入依赖、注解/代码/配置、功能
7+
8+
看看官网的技术文档,了解一下他基本的工作原理,看看这个技术假设在一个最基本的demo的指引下,集成和整合到你的项目里去以后,用起来了,用了他的一些功能了,解决了一些问题了,这背后基本的原理是什么
9+
10+
对阻塞线程数的控制 + 熔断 + 降级,解决了服务雪崩的问题
11+
12+
Spring Cloud Netflix,Hystrix这个项目,功能层面还是挺好用的,但是他的源码写的特别的烂,运用了特别奇怪的代码方式,源码,架构班,sprin cloud netflix源码剖析的课程里面,我深入分析过hystrix的源码的
13+
14+
Spring Cloud Alibaba,Sentinel这个项目
15+
16+
https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8D
17+
18+
雪崩、隔离、熔断、降级、限流
19+
20+
21+
Tomcat收到的每一个HTTP请求,都会交给一个独立的工作线程去处理,独立的工作线程一般可以配置为100~500之间的数量,看的是你的CPU有几个核,支持的线程数量就越多,4核,线程数量在200~300之间
22+
23+
24+
spring mvc、struts2这样的mvc框架,框架一般会把自己的servlet/filter配置在tomcat里面,tomcat就会把http请求交给mvc框架的servlet/filter,mvc框架就开始执行,处理请求
25+
26+
27+
mvc框架往往会扫描到你加了@Controller注解的类,扫描你里面的@Mapping注解,看看这个请求的URL路径格式和@Mapping注解里的指定的URL格式来做一个匹配,会把请求交给你的类里面的方法来处理
28+
29+
30+
31+
微服务之间调用的一个线程模型了解清楚,任何请求在分布式系统里执行,每个服务里都有一个线程会去处理这个请求
32+

docs/c2c/44.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
2+
#《44_C2C电商社会化治理平台基于Sentinel实现熔断保护》
3+
4+
5+
授人以渔
6+
7+
看一个新的技术,首先是先了解他的一个基本的介绍,包括他的定位、功能、特性、问题;了解一下他是怎么用起来的,看一下他最最基本的一些demo,引入依赖、注解/代码/配置、功能
8+
9+
看看官网的技术文档,了解一下他基本的工作原理,看看这个技术假设在一个最基本的demo的指引下,集成和整合到你的项目里去以后,用起来了,用了他的一些功能了,解决了一些问题了,这背后基本的原理是什么
10+
11+
对阻塞线程数的控制 + 熔断 + 降级,解决了服务雪崩的问题
12+
13+
Spring Cloud Netflix,Hystrix这个项目,功能层面还是挺好用的,但是他的源码写的特别的烂,运用了特别奇怪的代码方式,源码,架构班,sprin cloud netflix源码剖析的课程里面,我深入分析过hystrix的源码的
14+
15+
Spring Cloud Alibaba,Sentinel这个项目
16+
17+
https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8D
18+
19+
雪崩、隔离、熔断、降级、限流
20+
21+
22+
Tomcat收到的每一个HTTP请求,都会交给一个独立的工作线程去处理,独立的工作线程一般可以配置为100~500之间的数量,看的是你的CPU有几个核,支持的线程数量就越多,4核,线程数量在200~300之间
23+
24+
25+
spring mvc、struts2这样的mvc框架,框架一般会把自己的servlet/filter配置在tomcat里面,tomcat就会把http请求交给mvc框架的servlet/filter,mvc框架就开始执行,处理请求
26+
27+
28+
mvc框架往往会扫描到你加了@Controller注解的类,扫描你里面的@Mapping注解,看看这个请求的URL路径格式和@Mapping注解里的指定的URL格式来做一个匹配,会把请求交给你的类里面的方法来处理
29+
30+
31+
32+
微服务之间调用的一个线程模型了解清楚,任何请求在分布式系统里执行,每个服务里都有一个线程会去处理这个请求
33+

docs/c2c/45.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#《45_为什么微服务化的系统需要一个配置中心?》

docs/c2c/47.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#《47_携程开源的Apollo配置中心的原理介绍》
2+
3+
spring cloud netflix 跟 spring cloud alibaba
4+
5+
服务注册中心,就很多种技术选型;分布式事务,也是很多种框架;sentinel和hystrix,能干的事情类似;配置中心领域,携程开源了一款apollo,spring cloud config,nacos本身是一个服务注册中心但是也带了配置中心的功能
6+
7+
8+
进行技术选型,首先当然应该是站在一个细化的角度,从各个方面去对比技术,sentinel和hystrix对比,apollo nacos spring cloud config选型对比,马上就出来博客,他们都可以用表格给你展示的很清晰
9+
10+
11+
哪个技术最热门,用的人最多,那么你就选用那个技术;都很热门,用的人都多,怎么选呢?分场景,每种技术适合什么场景;分公司,每种技术适合小公司还是大公司;RabbitMQ、RocketMQ、Kafka如何选型对比
12+
13+
14+
apollo,架构是比较复杂,比较完善的,功能上也很完善,活跃,并不一定中小型公司去使用apollo,spring cloud alibaba,nacos,nacos作为一个服务注册中心本身就包含了配置中心的功能,没必要花很多时间再去部署一套apollo
15+
16+
17+
可以考虑用apollo,把配置这块的功能和架构都抽取出来了
18+
19+
spring cloud config,如果你用的不是spring cloud alibaba,用的是spring cloud netflix,那么你可以配合那个技术栈,直接用spring cloud提供的config项目作为配置中心就可以了,因为这是属于spring cloud原生技术栈里提供的
20+
21+
22+
nacos完全可以满足很多中小型公司的配置中心的需求,哪怕是大公司也可以用的,apollo确实用的公司很多,中大型公司都会去用apollo,而且他的功能很完善的,讲,还是讲apollo,nacos
23+
24+
https://github.com/ctripcorp/apollo
25+
26+

0 commit comments

Comments
 (0)