随笔分类 - Java 微服务框架
摘要:什么是网关? 网关功能 身份认证和权限校验 服务路由、负载均衡 请求限流 网关的技术实现 在 SpringCloud 中网关的实现包括两种: gateway zuul Zuul 是基于 Servlet 的实现,属于阻塞式编程;而 SpringCloudGateway 则是基于 Spring5 中提供
阅读全文
摘要:统一配置管理 将配置交给 Nacos 管理的步骤: 在 Nacos 中添加配置文件。 在微服务中引入 nacos 的 config 依赖。 在微服务中添加 bootstrap.yml,配置 nacos 地址、当前环境、服务名称、文件后缀名。这些决定了程序启动时去 nacos 读取哪个文件。 具体操作
阅读全文
摘要:认识 Nacos Nacos 是阿里巴巴的产品,现在是 SpringCloud 中的一个组件,相比 Eureka 功能更加丰富,在国内受欢迎程度较高。 Nacos 安装 Windows 安装 1)下载解压包 在 Nacos 的 GitHub 页面,提供有下载链接,可以下载编译好的 Nacos 服务端
阅读全文
摘要:Feign 介绍 RestTemplate 方式调用存在的问题: String url = "http://userservice/user/" + order.getUserId(); User user = restTemplate.getForObject(url, User.class);
阅读全文
摘要:Ribbon 介绍 Ribbon 是 Netflix 提供的一个基于 Http 和 TCP 的客户端负载均衡工具,且已集成在 Eureka 依赖中。 **实现原理:**SpringCloud Ribbon 的底层采用了一个拦截器,拦截了 RestTemplate 发出的请求,对地址做了修改。 开启客
阅读全文
摘要:Eureka 介绍 Eureka 是 Netflix 公司开源的一个服务注册与发现的组件。 • Eureka 和其他 Netflix 公司的服务组件(例如负载均衡、熔断器、网关等) 一起,被 SpringCloud 社区整合为 Spring-Cloud-Netflix 模块。 • Eureka 包含
阅读全文
摘要:认识微服务 随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢? 《互联网系统架构演变》 单体架构 单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。 优点: 架构简单 部署成本低 缺点: 耦合度高(维护困难、升
阅读全文
摘要:ZooKeeper 介绍 ZooKeeper(简称 zk)是一个分布式的、开源的**(分布式)应用程序的协调服务**。 ZooKeeper 是 Apache Hadoop 项目下的一个子项目,是一个树形目录服务。 ZooKeeper 翻译过来就是“动物园管理员”,它是用来管 Hadoop(大象)、H
阅读全文
摘要:相关概念 互联网项目架构 互联网项目架构的特点: 用户多 流量大,并发高 海量数据 易受攻击 功能繁琐 变更快 传统项目和互联网项目的不同: 用户体验: 美观 功能 速度 稳定性 大型互联网项目架构的目标: 高性能:提供快速的访问体验 高并发:能够同时承载大访问量 高可用:能够长时间稳定提供服务 可
阅读全文
摘要:1. 程序三高 2. 传统架构 2.1 提高服务器性能(单机) 2.2 增加服务器数量(DNS 负载均衡) 2.3 负载均衡 Apache + JK Nginx Keepalived LVS 2.4 数据库解决方案 3. 云计算架构 4. 微服务架构 1. 程序三高 1)高并发 高并发(High C
阅读全文