前言
当我们的网关Gateway程序开发完成之后,需要部署到生产环境,这个时候你的程序不能是单点运行的,肯定是多节点启动(独立部署或者docker等容器部署),防止单节点故障导致整个服务不能访问,网关是对客户端的入口与出口,在生产运行中极为重要,哪怕是简单的重启也会导致部分请求的丢失。
网关的路由配置这个时候就是一个大问题,是代码里面编写还是配置文件配置?他们都有一个致命的缺点,当有新的程序需要接入到网关进行路由或者有服务需要下线时候需要修改代码或者配置,然后重启整个网关程序,导致其他正常的服务路由受到了影响。
所以在实际生产环境中为了保证高可靠和高可用,是尽量要避免重启网关,所以实现动态路由是非常有必要的;
本文主要介绍Spring Cloud Gateway 实现的思路,并且把路由信息存放在外部源中,这粒以Nacos为数据源来讲解。
一、对Kafka的认识
1.Kafka的基本概念
2.安装与配置
3.生产与消费
4.服务端参数配置
二、生产者
1.客户端开发
2.原理分析
3.重要的生产者参数
三、消费者
1.消费者与消费组
2.客户端开发
四、主题与分区
1.主题的管理
2.初识KafkaAdminCilent
3.分区的管理
4.如何选择合适的分区数
五、日志存储
1.文件目录布局
2.日志格式的演变
3.日志索引
4.日志清理
5.磁盘存储
六、深入服务端
1.协议设计
2.时间轮
3.延时操作
4.控制器
5.参数解密
七、深入客户端
1.分区分配策略
2.消费者协调器和组协调器
3._consumer_offsets剖析
4.事务
八、可靠性探究
1.副本剖析
2.日志同步机制
3.可靠性分析
九、Kafka应用
1.命令行工具
2.Kafka Connect
3.Kafka Mirror Maker
4.Kafka Streams
十、Kafka监控
1.监控数据的来源
2.消费滞后
3.同步失效分区
4.监控指标说明
5.监控模块
十一、高级应用
1.过期时间(TTL)
2.延时队列
3.死信队列和重试队列
4.消息路由
5.消息轨迹
6.消息审计
7.消息代理
8.消息中间件选型
十二、Kafka与Spark的集成
1.Spark的安装及简单应用
2.Spark编程模型
3.Spark的运行结构
4.Spark Streaming简介
5.Kafka与Spark Streaming的整合
6.Spark SQL
7.Structured Streaming
8.Kafka与Structured Streaming的整合
《一线大厂Java面试真题解析+Java核心总结学习笔记+最新全套讲解视频+实战项目源码》开源
Java开发优秀开源项目:
-
ali1024.coding.net/public/P7/Java/git
- github.com/spring-projects
最近我根据上述的技术体系图搜集了几十套腾讯、头条、阿里、美团等公司21年的面试题,把技术点整理成了视频(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分