Springcloud aliBaBa+k8s+hadoop 20230223笔记本
项目并发量(线程)
1、线程数(Web服务)=>单tomcat:250>数量>150
集tomcat:>500
2、线程数(系统进程)=>Window:2000/linux:1000
注:线程数提高(根据硬件扩展)
3、秒查询率 QPS:Query Per Second
垂扩:单机 水扩:集群
水扩:多ng(dns)–>ng反向(n:web项目)–>web项目(n:service服务层)
–>数据库(读写)
https://www.cnblogs.com/matd/p/10460947.html
4、并发(重复支付)/海量(分库分表)
https://www.cnblogs.com/smallfa/p/17147062.html
https://www.cnblogs.com/smallfa/p/17147128.html
微服务/普通项目 差别
1、第三方订单接口:URL+端口
1)、普通项目==>配置:第三方接口参数(URL+端口)
2)、微服务项目==>直接调用‘service-order’
【微服务注册中心Nacos:’第三方订单接口’,注册名’service-order’】
3)、第三方订单接口变动;
普通项目需要修改配置:第三方接口参数(URL+端口);
微服务项目,只要注册名’service-order’无变动,不需要任何调整
4)、普通项目 限防问量:ng
https://www.cnblogs.com/smallfa/p/16831352.html
2、CAP
微服务项目(springcloud aliBaBa)
1)、服务注册/配置中心 Nacos
https://group.cnblogs.com/topic/115396.html
2)、服务限流/开关 Sentinal
可限服务接口 访问量
3)、调用服务网关 gateWay
客户端不能直接访问服务接口,加一层网关隔离,限访问量
https://www.cnblogs.com/smallfa/p/16935439.html
4)、调用服务客户端openFeign(低层httpclient)
gateWay+Sentinal+Nacos
外部请求RestAPI
内部请求性能:Dubbo:RPC>Feign(声明式http)
5)、分布事务 Seate
同时调用多个服务接口,若其中一个服务接口异常,则全部回滚
6)、消息组件stream:Rabbit/Kafka
配置参数:绑定器; Rabbit: Exchanges=extestxxx/Kafka:topic=topicxxxxx
Kafka:支持分区、10几万数据几秒响应
如: 群发短信
https://group.cnblogs.com/topic/112893.html
https://www.cnblogs.com/smallfa/p/17045715.html
7)、服务调用日志Zipkin
可定位异常服务接口日志
8)、微服开源项目
https://gitee.com/y_project/RuoYi-Cloud
SpringCloud alibaba2.2
服务注册/配置Nacos
服务限流/开关 Sentinal
服务网关 gateWay
服务客户端 openFeign(低层httpclient)
loadbalancer负载均衡(客户端)
dubbo(高能)
https://gitee.com/lcg0124/clouddo
SpringCloud 2.2.*新版
注:Netflix公司,部分组件停便
服务注册eureka
配置config+git
服务限流熔断/开关 hystrix
服务网关 zuul
服务客户端 openFeign(低层httpclient)
ribbon负载均衡(客户端)
Docker公/私有镜像
1、docker容器发布方式
1)、dockerFile(单组件)
项目部署(dockerfile文件–>生成镜像build、发布容器run)
https://www.cnblogs.com/smallfa/p/14969472.html
2)、docker compose(多组件)
容器编排技术
项目部署(docker-compose.yml–>生成镜像build、发布容器run)
https://www.cnblogs.com/smallfa/p/15170397.html
2、docker可视化工具Portainer
1)、可视化管理、修改、新增容器、新建网络IP段
https://www.cnblogs.com/smallfa/p/16463843.html
3、docker容器其他
docker如何分配资源给容器
https://www.cnblogs.com/smallfa/p/16147565.html
注:一台主机 通过内存扩容、固体硬盘阵列、至强Cpu(多核多线程)够满足实际使用
k8s
k8s多宿机/docker单宿机
k8s集群:主Master/从Node节点
https://www.cnblogs.com/smallfa/p/15958210.html
https://www.cnblogs.com/smallfa/p/15962817.html
k8s发布
####pod(容器)—>deployment(服务)—>service(服务映射到外网端口:端口暴露)
######################################################################
1)、发布服务kind:deployment
https://www.cnblogs.com/smallfa/p/16181312.html
i):部署deployment.yaml
kubel apply -f xxx.yaml
###发布一个deployment生成3个pod;
kind:Deployment
replicas:3 #pod副本数量
imgage:nginx1.16
ii):镜像升级
####滚动升级################1.16 –>1.17 –> 1.18
###kubel set image deployment/web nginx=nginx:1.17
iii)、升级回滚
kubectl rollout history deployment/web ###查看历史发布版本
#### ###1.18—>1.17
kubectl rollout undo deployment/web ###回滚上一个版本
iiii)、镜像扩/宿容
a)、水平扩####replicas 副本数
b)、####修yaml的repli cas值,再apply -f
iiiii)、镜像下线
a)、#####kubectl delete -f deployment.yaml
2)、发布服务kind:service
#####(服务映射外网端口:暴露端口)
https://www.cnblogs.com/smallfa/p/15930131.html
i):部署service.yaml
kubel apply -f xxx.yaml
kind:service
3)、Ingress组件:专门管理==> (服务映射外网端口:端口暴露)
避免(发布一个服务kind:deployment;
就要发布一次kind:service)
https://www.cnblogs.com/smallfa/p/16275401.html
k8s 可视化组件Kuboard v3
https://www.cnblogs.com/smallfa/p/16027423.html
IntelliJ IDEA插件
k8s插件 可视化编辑.yaml 亚麻欧文件
DokcerYun插件 dockefile直接发布到服务端docker
Jenkins插件 配置常用组件发布dockefile直接发布到服务端docker
大数据:数据平台Hadoop/数据仓(hive、建模)/数据挖掘(算法)/报表组(java报表)
1、Hadoop
1)、集群
https://www.cnblogs.com/smallfa/p/10102969.html
a)、3组件: hdfs(文件系统)、mapreduce(计算组件)、yarn(资源调度)
b)、配置文件、hdfs-site.xml mapred-site.xml yarn-site.xml
c)、存储以文件为主 如 a.txt之类
2)、生态圈组件
——–报表组件———————–数据展现
——————————————-数据分析
Hive(查询)/Spark Mlib(挖掘)
Spark R(分析)/Spark SQL(查询)
————
MapReduce/Spark Core(计算优)
– ——Hbase(nosql)—————数据存储
hdfs
————————————数据采集
Sqoop(关系库)、Flume(日志)、
Kafka(消息)、视频
3)、Hadoop可视化工具Hue
离线
数据源–>数据采(flume/sqoop/DataX)–>处理 oozie/azkaban(HDFS读写–>MR/Hive)–>推送(LOAP)
实时
日志–>数据采(flume)–>处理(kafka/redis/mysql读hbase写–>Spark/Flink)–>推送(API)
实时采Flume/logstash/filebeat日志
Spark/Flink/Storm(小)
Hbase/Cassandra/MongoDB/Redis
2、Hbase(nosql)
https://www.cnblogs.com/smallfa/p/16399213.html
版本/时间戳
行健+列族:
3、Hive(HQL)数据分析
https://www.cnblogs.com/smallfa/p/16480086.html
1)、引擎: SQL查询以MapReduce引擎
Hive 2.x开始以Spark作为引擎
2)、对比Hadoop
Hive hadoop
——————-
表 目录
数据 文年
注:Pig也是数据分析组件
4、CDH组件 /HUE
大数据组件管理工具
项目并发量(线程)
微服务/普通项目 差别
1、第三方订单接口:URL+端口 1)、普通项目==>配置:第三方接口参数(URL+端口) 2)、微服务项目==>直接调用‘service-order’
【微服务注册中心Nacos:’第三方订单接口’,注册名’service-order’】 3)、第三方订单接口变动; 普通项目需要修改配置:第三方接口参数(URL+端口); 微服务项目,只要注册名’service-order’无变动,不需要任何调整
4)、普通项目 限防问量:ng
微服务项目(springcloud aliBaBa)
1)、服务注册/配置中心 Nacos https://group.cnblogs.com/topic/115396.html
2)、服务限流/开关 Sentinal
可限服务接口 访问量 3)、调用服务网关 gateWay
客户端不能直接访问服务接口,加一层网关隔离,限访问量
4)、调用服务客户端openFeign(低层httpclient)
gateWay+Sentinal+Nacos 外部请求RestAPI 内部请求性能:Dubbo:RPC>Feign(声明式http)
5)、分布事务 Seate 同时调用多个服务接口,若其中一个服务接口异常,则全部回滚
6)、消息组件stream:Rabbit/Kafka 配置参数:绑定器; Rabbit: Exchanges=extestxxx/Kafka:topic=topicxxxxx
Kafka:支持分区、10几万数据几秒响应 如: 群发短信 https://group.cnblogs.com/topic/112893.html
https://www.cnblogs.com/smallfa/p/17031394.html
7)、服务调用日志Zipkin 可定位异常日志
8)、微服开源项目
https://gitee.com/y_project/RuoYi-Cloud
SpringCloud alibaba2.2
服务注册/配置Nacos 服务限流/开关 Sentinal 服务网关 gateWay 服务客户端 openFeign(低层httpclient) loadbalancer负载均衡(客户端) dubbo(高能)
https://gitee.com/lcg0124/clouddo SpringCloud 2.2.*新版 注:Netflix公司,部分组件停便 服务注册eureka
配置config+git 服务限流熔断/开关 hystrix 服务网关 zuul 服务客户端 openFeign(低层httpclient) ribbon负载均衡(客户端)
Docker公/私有镜像
1、docker容器发布方式 1)、dockerFile(单组件)
项目部署(dockerfile文件–>生成镜像build、发布容器run) https://www.cnblogs.com/smallfa/p/14969472.html 2)、docker compose(多组件) 容器编排技术 项目部署(docker-compose.yml–>生成镜像build、发布容器run) https://www.cnblogs.com/smallfa/p/15170397.html
2、docker可视化工具Portainer 1)、可视化管理、修改、新增容器、新建网络IP段 https://www.cnblogs.com/smallfa/p/16463843.html
3、docker容器其他 docker如何分配资源给容器 https://www.cnblogs.com/smallfa/p/16147565.html
注:一台主机 通过内存扩容、固体硬盘阵列、至强Cpu(多核多线程)够满足实际使用
k8s
k8s多宿机/docker单宿机k8s集群:主Master/从Node节点https://www.cnblogs.com/smallfa/p/15958210.htmlhttps://www.cnblogs.com/smallfa/p/15962817.html
k8s发布####pod(容器)—>deployment(服务)—>service(服务映射到外网端口:端口暴露)###################################################################### 1)、发布服务kind:deployment https://www.cnblogs.com/smallfa/p/16181312.html
i):部署deployment.yaml kubel apply -f xxx.yaml ###发布一个deployment生成3个pod; kind:Deployment replicas:3 #pod副本数量 imgage:nginx1.16
ii):镜像升级 ####滚动升级################1.16 –>1.17 –> 1.18 ###kubel set image deployment/web nginx=nginx:1.17
iii)、升级回滚 kubectl rollout history deployment/web ###查看历史发布版本 #### ###1.18—>1.17 kubectl rollout undo deployment/web ###回滚上一个版本
iiii)、镜像扩/宿容 a)、水平扩####replicas 副本数 b)、####修yaml的repli cas值,再apply -f
iiiii)、镜像下线 a)、#####kubectl delete -f deployment.yaml
2)、发布服务kind:service #####(服务映射外网端口:暴露端口)
https://www.cnblogs.com/smallfa/p/15930131.html i):部署service.yaml kubel apply -f xxx.yaml
kind:service
3)、Ingress组件:专门管理==> (服务映射外网端口:端口暴露) 避免(发布一个服务kind:deployment; 就要发布一次kind:service) https://www.cnblogs.com/smallfa/p/16275401.html
k8s 可视化组件Kuboard v3https://www.cnblogs.com/smallfa/p/16027423.html
IntelliJ IDEA插件k8s插件 可视化编辑.yaml 亚麻欧文件DokcerYun插件 dockefile直接发布到服务端dockerJenkins插件 可配常用组件发布dockefile直接发布到服务端docker
大数据:数据平台Hadoop/数据仓(hive、建模)/数据挖掘(算法)/报表组(java报表)
1、Hadoop 1)、集群 https://www.cnblogs.com/smallfa/p/10102969.html a)、3组件: hdfs(文件系统)、mapreduce(计算组件)、yarn(资源调度) b)、配置文件、hdfs-site.xml mapred-site.xml yarn-site.xml c)、存储以文件为主 如 a.txt之类
2)、生态圈组件
——–报表组件———————–数据展现
——————————————-数据分析
Hive(查询)/Spark Mlib(挖掘) Spark R(分析)/Spark SQL(查询) ———— MapReduce/Spark Core(计算优)
– ——Hbase(nosql)—————数据存储 hdfs
————————————数据采集 Sqoop(关系库)、Flume(日志)、 Kafka(消息)、视频
3)、Hadoop可视化工具Hue
离线 数据源–>数据采(flume/sqoop/DataX)–>处理 oozie/azkaban(HDFS读写–>MR/Hive)–>推送(LOAP)
实时 日志–>数据采(flume)–>处理(kafka/redis/mysql读hbase写–>Spark/Flink)–>推送(API)
实时采Flume/logstash/filebeat日志
Spark/Flink/Storm(小)
Hbase/Cassandra/MongoDB/Redis
2、Hbase(nosql) https://www.cnblogs.com/smallfa/p/16399213.html 版本/时间戳 行健+列族:
3、Hive(HQL)数据分析 https://www.cnblogs.com/smallfa/p/16480086.html 1)、引擎: SQL查询以MapReduce引擎 Hive 2.x开始以Spark作为引擎
2)、对比Hadoop Hive hadoop ——————- 表 目录 数据 文年
注:Pig也是数据分析组件
4、CDH组件 /HUE 大数据组件管理工具