知识点
-
springcloud
-
增加功能,重新打成jar war,重新部署,随着功能的不断增加,
我们的后端项目也在不断的变大,也导致该项目对服务器的要求也
越来越大。 -
早期互联网发起了一项运动去掉ioe
i ibm(小型机)
o oracle()
e emc(高性能的分布式性能) -
类似开饭店是的:中国人想开饭店,需要肉,菜,调料等
开饭店必须要从国外买这些东西,比如说粮食,被美国那块垄断的,
分布式
-
把一件大事拆分成若干小事,分给若干个人,最终大家合力完成这件大事;对外看来还是一个事,比如开发:分组开发的时候,有做前端的,有负责部署和运维的,工作当中,一定要有相互合作的思维,
-
淘宝就是一个个模块了,一个小模块等同一个小系统,有一个商品模块,有订单模块,有购物车模块,有用户权限模块,有报表模块,有搜索引擎模块,必须到一定规模的时候,在进行分布式开发
-
架构不是设计出来的,而是建筑出来的
-
难点: 1、项目和项目之间会不会设计到方法的相互调用,会不会出现了项目不同之间的项目调用?会, 大部分情况下回访问商品模块
分布式和集群的区别:
- 分布式一个大系统拆分成若干小系统,每个小系统负责一个部分的事情,每个小系统都有自己的事情,
- 集群:就是一个小系统如果并发量过高,可能造成顶不住,如果一个顶不住,我们构建两个(两个人同时干一件事),这叫做集群。
-
集群:spirngcloud
-
部署和运维比较难
-
docker search tomcat8
-
用哪个都行,docker search tomcat8.0
-
docker run -itd -p 8081:8080 -v /public:/public --name tomcat1
-
docker exec -it tomcat1 /bin/bash
进入容器:类似小卧室 -
ls
-
vi index.jsp 修改index.jsp
-
nginx 可以做反向代理的服务器
-
负载均衡,策略:轮寻
-
weight: …
docker run -itd -p 8081:8080 -v /public:public --name tomcat1 liujiabao/tomcat8.0.43 下载Tomcat
mkdir /config 创建目录
docker exec -it nginx /bin/bash 进入nginx的内网
docker cp /config/nginx.conf 8e75b79759d0:/etc/nginx/nginx.conf
替换文件,将nginx.conf(替换)(不同目录下的同名文件替换)
day0908下午
-
删除nginx(早起的集群方式)
-
分布式
-
新的概念:中间件?
-
简述:功能+通讯
不应该限于语言
类似后端:后端和前端通讯,和数据库通信,不限于语言
每一个模块都可以看做一个中间件:电商 -
springboot每做一个项目,都可以看做中间件
分布式系统中每一个服务都可以看做一个中间件
中间件不应该被语言所限,所以出现异构:不同语言构建出来的项目
说白了,ajax就可以一个中间件
-
docker inspect ssdb
-
项目开工
-
子项目默认继承父项目的jar包,这个叫做依赖传递************
-
父项目打成pom
-
父工程管理版本号 -
服务发现和注册
-
原理:像IOC容器,房源的例子
-
早起用的服务注册中心是zookeeper—dubbo
eureka–springcloud–netflix
nacos-- springcloud-alibaba -
2018年12月netflix团队开发的产品进入维护模式
-
zuul,hystrix,config等等,都是他们开发的
-
springcloud开发所有组件开发的时候都很简单,难点在于部署和运维,组件开发三部曲:1、导包 2、配置文件 3、注解********
集群的新知识(早起nginx)
- springcloud三部曲
- 难点在于部署和运维:所有组件开发都是三部曲: 1、导包
2、配置文件 3、注解
day0909
-
eureka注册中心,类似一个servlet项目
-
nacos是一个外部应用
-
nacos:上dockerhub上找
-
有单机版和集群版,生产环境中用集群版
-
docker run --name nacos -standalone -e MODE=standalone -p 8848:8848 -d nacos/nacos-server:latest 这个是单机版的nacos
-
导包,配置,注解
-
心跳检测:代理服务器向两个Tomcat每隔一段时间就发送请求,看看有没有回应
-
订单向服务的发现和注册发送请求:然后注册中心(服务的发现和注册)轮着给商品模块的ip返回给订单模块。
-
网络雪崩:一个服务器负载1000个用户,10w个用户并发访问,我至少需要100个服务器,如果一个服务器挂了,那么99个服务器,那么99个用户负载10w用户,那么又挂了一个。。
-
保护阈值:0到1之间
-
用eclipse必须用两个空格,不用tab,(application.yml)
-
spring.cloud.nacos.discovery.server-addr: …