微服务深入浅出(9)-- Nginx】的更多相关文章

Zuul用于构建边界服务,致力于动态路由,过滤,监控,弹性伸缩和安全等方向. 1.Zuul+Ribbon+Eureka结合,可以实现智能路由和负载均衡 2.网关将所有服务的API接口统一聚合统一暴露 3.网关统一爆率接口后,可以做身份和权限认证 4.实现监控功能,实时日志输出 5.流量监控,实现降级和限流 6.方便测试 1.网关存在的必要性 不同的微服务有不同的请求地址,如果一个客户端需要访问多个接口才能完成一个业务需求的话,可能存在以下问题: # 客户端会多次请求不同微服务,增加客户端的复杂性…
1.概述 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器. 服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器.集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行. 负载均衡,英文名称为Load…
Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,处理请求是异步非阻塞的,多个连接(万级别)可以对应一个进程.而Apache是同步多进程模型,一个连接对应一个进程. #user nobody; #指定nginx进程数 worker_processes ; #全局错误日志及PID文件 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log in…
概念 1.Docker引擎 一个运行在服务器上的后台进程 2.Docker客户端 分为两种:CLI和RestAPI,与Docker引擎交互 3.Docker镜像 类似于我们使用的光盘,将程序打包到Docker镜像中 4.Docker容器 Docker引擎实例化Docker镜像获得的东西 5.Docker镜像注册中心 用于存放公开和私有的Docker镜像仓库.我们可以利用Docker Registry大家私有的镜像仓库 特点 1.快速运行 只需要几秒钟就能启动 2.节省资源 运行在Docker引擎…
Config Server从本地读取配置文件 将所有的配置文件统一写带Config Server过程的目录下,Config Server暴露Http API接口,Config Client调用Config Server的Http API来读取配置文件 1.引入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server&l…
概念 在分布式系统中,一种不可避免的情况就是某些服务会出现故障,导致依赖他们的其他服务出现远程调度的线程问题(雪崩效应).而Hystrix提供的熔断器,通过隔离服务的访问点,能阻止这种分布式系统中出现的联动故障,并提供故障的解决方案,从而提高了整个分布式系统的弹性. 设计原则 1.防止单个服务的故障耗尽整个服务的servlet容器的线程资源 2.快速失败机制,如果某个服务出现故障则调用该服务的请求快速失败,而不是线程等待 3.提供回退方案 4.使用熔断机制,防止故障扩散到其他服务 5.提供熔断器…
Feign的使用 Feign采用了声明式的API接口的风格,将Java Http客户端绑定到它的内部,从而调用过程变的简单. 配置文件: spring: application: name: eureka-feign-client server: port: 8765 eureka: client: service-url: defaultZone: http://localhost:9001/eureka/ 启动类: @SpringBootApplication @EnableEurekaCl…
Spring Cloud中可以使用RestTemplate+Ribbon的解决方案来将负载均衡以代码的形式封装到客户端中. 通过查阅官方文档可以知道,只需要在程序的IoC容器中注入一个restTemplate的bean,并在这个Bean上加@LoadBalanced注解就开启了Ribbon的负载均衡功能: @Configuration public class RibbonConfig { @Bean @LoadBalanced RestTemplate restTemplate() { ret…
现来说一些Eureka的概念: 1.服务注册 Register 就是Client向Server注册的时候提供自身元数据,比如IP和Port等信息. 2.服务续约 Renew Client默认每隔30s发送一次心跳来服务续约,如果90s没有收到Client的心跳包,Server会将Client从注册列表中移除. 3.获取服务注册信息 Fetch Register Eureka Client会从Eureka Server获取服务注册表信息,并将其缓存在本地.默认每30s更新一次. 4.下线 Canc…
添加Dockerfile 在目录src/main/resources目录下店家Dockerfile文件: From java MAINTAINER "Eric"<eric.lan@qq.com> ADD @project.build.finalName@.jar app.jar EXPOSE 8080 CMD java -jar app.jar maven的setting文件 <servers> <server> <id>my-docke…