SpringCloud使用总结
Github地址SpringCloud总结
微服务架构组成
服务
服务注册中心
网关
服务间调用协议
Springcloud微服务架构
spring cloud Netflix 微服务架构
spring cloud Config 配置服务中心
spring cloud Bus 事件总线
Spring Cloud Netflix 微服务架构
服务注册中心:Eureka
网关: Zuul
声明式Rest调用接口:Feign Client
负载均衡:Ribbon
监控,熔断组件:Hystrix与Hystrix Dashboard
Spring cloud Config 配置服务
配置:文件夹,git,svn,db
配置服务器
服务 -> 配置服务器 -> 配置
配置加密
Spring cloud Zuul 网关服务
zuul服务的生命周期123Pre filters:在请求被路由之前调用Routing filters:路由请求的作用Post filters:路由到微服务以后执行
问题解决
1. Cannot execute request on any known se ...
java的23种设计模式
设计模式的源码地址设计模式Github源码
工厂方法模式1. 定义与类型
定义:定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行
类型:创建型
2. 适用场景
创建对象需要大量重复的代码
客户端(应用层)不依赖于产品类实例如何被创建,实现等细节
一个类通过其子类来指定创建哪个对象
3. 优点
用户只需要关心所需产品对应的工厂,无须关心创建细节
加入新产品符合开闭原则,提高可扩展性
4. 缺点
类的个数容易过多,增加复杂度
增加了系统的抽象性和理解难度
抽象工厂1. 定义与类型
定义:抽象工厂模式提供创建一系列相关或相互依赖对象的接口
无须指定他们具体的类
类型:创建型
2. 适用场景
客户端(应用层)不依赖于产品类实例如何被创建,实现等细节
强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量重复的代码
提供一个产品类的库,所有的产品以同样的接口出现,从而使客户端不依赖于具体实现
3. 优点
具体产品在应用辰代码隔离,无须关心创建细节
将一个系列的产品族统一到一起创建
4. 缺点
规定了所有 ...
JVM性能监控与调优
一. JDK命令行工具监控0. 命令文档地址https://docs.oracle.com/javase/8/docs/technotes/tools/unix/index.html
1. XX参数分类
Boolean类型
非Boolean类型
-Xmx -Xms(最大内存,最小内存)
-Xms等价于-XX.InitialHeapSize
-Xmx等价于-XX:MaxHeapSize
2. 查看JVM运行时参数
-XX:+PrintFlagslnitial 查看初始值情况
-XX:+PrintFlagsFinal 查看最终值
-XX:+UnlockExperimentalVMOptions 解锁实验参数
-XX:+UnlockDiagnosticVMOptions 解锁诊断参数
-xx:+PrintCommandLineFlags 打印命令行参数
2.1 PrintFlagsFinal
=表示默认值, :=被用户或者JVM修改后的值1java -XX:+PrintFlagsFinal -version
2.2 jpshttps://docs.oracle.c ...
docker命令选项
启动命令
命令
作用
–log-opt max-size=[0-9+][k|m|g]
文件的大小--log-opt max-size=10m
–log-opt max-file=[0-9+]
文件数量--log-opt max-file=3
–add-host
指定往/etc/hosts添加的host--add-host mysql:192.168.10.32
–restart=[no|on-failure|always|unless-stopped|]
no:默认策略,在容器退出时不重启容器on-failure:在容器非正常退出时(退出状态非0),才会重启容器 on-failure:3:在容器非正常退出时重启容器,最多重启3次always:在容器退出时总是重启容器unless-stopped:在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
组合命令1. Image
删除全部镜像记录 1docker rm $(docker ps -aq)
删除退出的镜像记录 1docker rm $(docker ps -f " ...
Docker安装教程
Docker安装Docker文档地址https://cloud.tencent.com/developer/doc/1060
https://docker_practice.gitee.io/
一. 安装教程来源http://get.daocloud.io
二. Linux安装Docker1curl -sSL https://get.daocloud.io/docker | sh
三. Linux安装Docker Compose12curl -L https://get.daocloud.io/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose
四. 安装出现的问题解决1. Delta RPMs disabled because /usr/bin/applydeltarpm not installed12yum provides ' ...
Docker配置问题
1. Docker容器和宿主机时间同步问题
原因:宿主机时区和Docker容器的不一致,导致两者相差8小时
解决方法一: 启动容器的时候指定启动参数,自动挂载localtime文件到容器内 1docker run --name <name> -v /etc/localtime:/etc/localtime:ro ....
解决方法二: 把时区设置加入到Dockerfile中 1234# CentOSRUN echo "Asia/shanghai" > /etc/timezone;# UbuntuRUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2. 设置自定义仓库
修改 /etc/docker/daemon.json 文件 123"insecure-registries": [ "dgemc.asuscomm.com:9293" ]
3. 设置Docker Hub源
修改 /etc/docker/daemon.json 文件 1 ...
Harbor私有仓库搭建
1. Harbor 服务搭建1. 下载Harbor安装文件
从 github harbor 官网 release 页面下载指定版本的安装包。123456# 1、在线安装包 wget https://github.com/vmware/harbor/releases/download/v1.7.4/harbor-online-installer-v1.7.4.tgz tar xvf harbor-online-installer-v1.7.4.tgz# 2、离线安装包 wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-offline-installer-v1.7.4.tgz tar xvf harbor-offline-installer-v1.7.4.tgz
2. 配置harbor.cfg
配置说明123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 ...
Docker远程访问加入Tsl安全验证
Docker远程访问加入Tsl安全验证Tsl脚本123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101#reated by L.STONE <web.developer.network@gmail.com># -------------------------------------------------------------# 自动创建 Docker TLS 证书# -------------------------------------------------------------# 以下是配置信息# --[BEGIN]------------------------------CODE="docker"IP=& ...