摘要:
一、镜像相关命令 镜像名称一般分两部分组成:[repository]:[tag]。 在没有指定tag时,默认是latest,代表最新版本的镜像 镜像操作命令:docker --help查看docker命令 构建镜像:将本地的DockerFile文件使用docker build构建成镜像 查看镜像:d 阅读全文
摘要:
虚拟机Linux操作系统中安装Docker Docker CE支持64位版本CentOS 7,并且要求内核版本不低于3.10,CentOS 7满足最低内核要求,所以在CentOS 7中安装Docker。 (1)如果之前安装过旧版本的Docker,可以使用下面命令卸载: yum remove dock 阅读全文
摘要:
一、镜像和容器 镜像(Image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。 容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对外不可见。 二、Docker和DockerHub【镜像共享】 Docker 阅读全文
摘要:
虚拟机(virtual machine)是在操作系统中模拟硬件设备,然后运行另一个操作系统,比如在 Windows 系统里面运行 Ubuntu 系统,这样就可以运行任意的Ubuntu应用了。 Docker和虚拟机的差异: 1、docker是一个系统进程;虚拟机是在操作系统中的操作系统 2、docke 阅读全文
摘要:
一、项目部署的问题 大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题: 依赖关系复杂,容易出现兼容性问题 开发、测试、生产环境有差异 Docker如何解决依赖的兼容问题的? 将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包 将每个应用放到一个隔离容器去运行,避免互相干扰。 阅读全文
摘要:
跨域:域名不一致就是跨域,主要包括: 域名不同: www.taobao.com 和 www.taobao.org 和 www.jd.com 和 miaosha.jd.com 域名相同,端口不同:localhost:8080和localhost8081 跨域问题:浏览器禁止请求的发起者与服务端发生跨域 阅读全文
摘要:
请求进入网关会碰到三类过滤器:当前路由的过滤器、DefaultFilter、GlobalFilter 请求路由后,会将当前路由过滤器和DefaultFilter、GlobalFilter,合并到一个过滤器链(集合)中,排序后依次执行每个过滤器 每一个过滤器都必须指定一个int类型的order值,or 阅读全文
摘要:
GatewayFilter:是网关中提供的一种过滤器,可以对进入网关的请求和微服务返回的响应做处理: 过滤器工厂 GatewayFilterFactory,Spring提供了31种不同的路由过滤器工厂。 例:给所有进入userservice的请求添加一个请求头:Truth=itcast is fre 阅读全文
摘要:
网关路由可以配置的内容包括: 1、路由id:路由唯一标示 2、uri:路由目的地,支持lb和http两种 3、predicates:路由断言,判断请求是否符合要求,符合则转发到路由目的地 4、filters:路由过滤器,处理请求或响应 在配置文件中写的断言规则只是字符串,这些字符串会被Predica 阅读全文
摘要:
搭建网关服务步骤: 1、创建新的module,引入SpringCloudGateway的依赖和nacos的服务发现依赖: <!--网关依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring- 阅读全文
摘要:
不是所有的微服务都会让用户直接访问,因此需要添加一个网关。 网关功能: 1、身份认证和权限校验 2、服务路由【将请求转发给具体的微服务处理】、负载均衡 3、请求限流 【防止系统过载崩溃】 网关的技术实现 在SpringCloud中网关的实现包括两种:gateway、zuul Zuul是基于Servl 阅读全文
摘要:
Feign的最佳实践 方式一(继承):给消费者的FeignClient和提供者的controller定义统一的父接口作为标准。 orderservice中的UserClient和userservice的Controller中的queryById基本相同,因此可以定义父接口作为统一标准 但是Feign 阅读全文
摘要:
一、Feign底层的客户端实现: 1、URLConnection:默认实现,不支持连接池 2、Apache HttpClient :支持连接池 3、OKHttp:支持连接池 因此优化 二、Feign的性能主要包括: 1、使用连接池代替默认的URLConnection 2、日志级别,最好用basic或 阅读全文
摘要:
配置Feign日志有两种方式:配置文件方式和Java代码方式 全局生效: (1)方式一:配置文件方式 feign: client: config: default: # 这里用default就是全局配置,如果是写服务名称,则是针对某个微服务的配置 loggerLevel: FULL # 日志级别 ( 阅读全文
摘要:
http客户端Feign RestTemplate方式调用存在的问题: //通过”userservice“这个服务名称代替ip、端口 String url = "http://userservice/user/" + order.getUserId(); User user = restTempla 阅读全文
摘要:
配置Nacos集群 (1)进入nacos的conf目录,修改配置文件cluster.conf.example,重命名为cluster.conf (2)添加内容:集群节点信息IP 127.0.0.1:8845 127.0.0.1.8846 127.0.0.1.8847 (3)修改application 阅读全文
摘要:
微服务启动时会从nacos读取多个配置文件: [spring.application.name]-[spring.profiles.active].yaml,例如:userservice-dev.yaml 【nacos中定义的配置文件:服务名-环境.后缀名】 [spring.application. 阅读全文