- 博客(442)
- 收藏
- 关注
原创 大厂扫地僧整理的Java核心知识点和面试官常问到的知识点
疫情当下、裁员浪潮,焦虑和不安充斥着这个金三银四。这个时候外部的各种变化愈发证明一个重要的一点不断提升个人价值的重要性。不是薪资层面的数字简单累积,而是一个人在职场里、在专业领域、在技术上的层层突破和能力塑造,从而建立自己的个人价值。即使面对裁员,也依旧具备不可替代的竞争力;面临危机,也可能会遇到新的机遇和更好的选择。大的变化也可能有很大的机会,任何时候都不要放弃学习和进阶。这里和大家分享一份大神整理的Java核心知识点和面试官经常问到的知识点压压惊!...
2022-07-31 14:25:41
735
原创 RabbitMQ多种问题出现的解决方案
1、消息消费成功,事务已经提交,ack时,机器宕机。2、当消息发送给MQ,通过Brock通过交换机抵达队列,MQ关机了,只有抵达队列才能实现消息持久化。1、只要订单完成我们就会发送一条消息给MQ,这个途中突然MQ服务器网络中断,导致消息无法抵达。只要消息收到了会自动持久化,如果进入另一个回调方法说明报错了,需要修改数据库使消息重发。关闭订单的时候,没有成功,又重新进入队列再次执行,这种是可以允许的。在ack的时候宕机,导致消息没有确认,又需要重新发送。2、消息消费失败,由于重试机制,自动又将消息发送出去。.
2022-07-31 14:20:21
1827
原创 既然有HTTP协议,为什么还要有RPC
纯裸TCP是能收发数据,但它是个无边界的数据流,上层需要定义消息格式用于定义消息边界。于是就有了各种协议,HTTP和各类RPC协议就是在TCP之上定义的应用层协议。RPC本质上不算是协议,而是一种调用方式,而像gRPC和thrift这样的具体实现,才是协议,它们是实现了RPC调用的协议。目的是希望程序员能像调用本地方法那样去调用远端的服务方法。同时RPC有很多种实现方式,不一定非得基于TCP协议。从发展历史来说,HTTP主要用于b/s架构,而RPC更多用于c/s架构。性能HTTP2.0在https。...
2022-07-31 14:06:33
696
1
原创 不就是个TCC分布式事务,有那么难吗?
之前网上看到很多写分布式事务的文章,不过大多都是将分布式事务各种技术方案简单介绍一下。很多朋友看了不少文章,还是不知道分布式事务到底怎么回事,在项目里到底如何使用。所以咱们这篇文章,就用大白话+手工绘图,并结合一个电商系统的案例实践,来给大家讲清楚到底什么是TCC分布式事务。咱们先来看看业务场景,假设你现在有一个电商系统,里面有一个支付订单的场景。更改订单的状态为“已支付”。扣减商品库存。给会员增加积分。创建销售出库单通知仓库发货。先是服务调用链路依次执行Try逻辑。https。......
2022-07-31 14:04:26
300
原创 REST会消失吗?事件驱动架构如何搭建?
为什么“基于事件”和“事件驱动”这两个词现在几乎每个人都会挂在嘴边?能否使用现有的REST API来构建事件驱动的架构?本文将围绕这两个问题展开讨论。技术改变世界,技术人一直热衷于让生活更加便捷。可以想象如下场景,快递公司1提供了包裹跟踪服务,会通知你包裹在哪一天以及什么时间范围内到达(有可能出现达到时间由于运输延误不正确的情况);快递公司2主动通知你,当前包裹离你还有多少站。你会给予哪家快递公司好评?由此可见随着业务的不断发展,客户对实时应用和服务的需求也在不断增加。如果你的业务应用或服务是面向客户的,就
2022-07-31 13:57:34
278
原创 Keepalived 高可用的三种路由方案
它可以将原始数据包封装并添加新的包头(内容包括新的源地址及端口、目标地址及端口),从而实现将一个目标为调度器VIP地址的数据包封装,通过隧道转发给后端的真实服务器(RealServer),通过将客户端发往调度器的原始数据包封装,并在其基础上添加新的数据包头(修改目标地址为调度器选择出来的真实服务器的IP地址及对应端口),LVS(TUN)模式要求真实服务器可以直接与外部网络连接,真实服务器在收到请求数据包后直接给客户端主机响应数据。TUN方案中,真实服务器处理完结果后,直接返回给客户端。...
2022-07-31 13:55:30
601
原创 为什么要使用MQ消息中间件?这几个问题必须拿下
这个就是很典型的一个MQ的用法,用有限的机器资源承载高并发请求,如果业务场景允许异步削峰,高峰期积压一些请求在MQ里,然后高峰期过了,后台系统在一定时间内消费完毕不再积压的话,那就很适合用这种技术方案。大部分时候,每秒几百请求,一台机器就足够了,但是为了抗那每天瞬时的高峰,硬是部署了10台机器,每天就那半个小时有用,别的时候都是浪费资源的。假设你有一个系统,平时正常的时候每秒可能就几百个请求,系统部署在8核16G的机器的上,正常处理都是ok的,每秒几百请求是可以轻松抗住的。...
2022-07-31 13:54:22
343
原创 Java 的七种垃圾收集器
但在Java中,垃圾收集器GarbageCollection(GC)会在程序执行过程中自动运行,减轻了手动分配内存和可能的内存泄漏的任务。第二次暂停发生在CMS收集器结束时期,来修正在并发标记过程中,应用程序线程在CMS垃圾回收完成后更新对象时被遗漏的对象。使用这个命令,指定在新生代中通过多个线程进行垃圾回收,而老年代中的垃圾收集和内存压缩仍使用单个线程完成的。垃圾收集器并不只有一种,Java虚拟机(JVM)有七种不同的垃圾收集器,了解每种垃圾收集器的目的和优点是很有用的。...
2022-07-31 13:50:40
512
原创 有没有并发系统设计的经验,我该怎么说?
提到互联网系统设计,你可能听到最多的词儿就是“三高”,也就是“高并发”“高性能”“高可用”,它们是互联网系统架构设计永恒的主题。设计系统是首先要考虑的就是流量,流量分为平时流量和峰值流量两种,峰值流量可能会是平时流量的几倍甚至几十倍,在应对峰值流量的时候,我们通常需要在架构和方案上做更多的准备。这就是淘宝会花费大半年的时间准备双十一,也是在面对“明星离婚”等热点事件时,看起来无懈可击的微博系统还是会出现服务不可用的原因。...
2022-07-30 14:00:42
202
原创 Google Cloud Spanner的实践经验
CloudSpanner是GoogleMegastore系统的继承者,Spanner表现出远超前辈的能力。Spanner首次是在Google内部数据中心中出现,而在2017年才对外发布测试版并加入了SQL能力。如今已经在Google云平台上架并拥有大量各个行业的用户。CloudSpanner数据库是全球范围的数据库,并且Google承诺CloudSpanner拥有高吞吐量、低延迟和99.999%的高可用性。...
2022-07-30 13:58:16
300
原创 试图颠覆 JavaScript 生态?亲身试用新 JS 运行时 Bun 后,我觉得未来可期
终于有人站出来,打算跟 JavaScript 生态系统正面交锋了。这家伙知道自己在干什么,而且也描绘出了干掉 JS 之后要创造的美好新世界。2022 年,前 Stripe 开发人员 Jared Sumner 发布了 Bun ,一种用 Zig 编程语言开发的运行时。据我所知, Bun 最初只是种 JavaScript webserver,但在后续发展中逐渐酝酿出了全面颠覆 JS 生态系统的野心。按我个人的关注度排序,Bun 的优势主要有以下几点:据说能提供比 Node 或 Deno 更快的 JavaScrip
2022-07-30 13:54:10
856
原创 代码越写越乱?那是因为你没用责任链
既然每个关卡中都有下一关的成员变量并且是不一样的,那么我们可以在关卡上抽象出一个父类或者接口,然后每个具体的关卡去继承或者实现。如何解决这个问题,我们可以通过链表将每一关连接起来,形成责任链的方式,第一关通过后是第二关,第二关通过后是第三关....这种代码不仅冗余,并且当我们要将某两关进行调整时会对代码非常大的改动,这种操作的风险是很高的,因此,该写法非常糟糕。他使用了责任链模式,代码堆的非常多,bug也多,没有达到我预期的效果。设计模式有很多,责任链只是其中的一种,我觉得很有意思,非常值得一学。.....
2022-07-30 13:51:00
309
原创 如何解决 Spring Cloud 下测试环境路由问题
SpringCloudTencent微服务开发框架自六月底正式对外宣发后,受到了许多开发者非常火热的关注。不到一个月时间,GithubStar数就已突破2000,超过1000名开发者加入我们的社群,并有20多个开发者参与贡献项目代码,项目的热门程度极大地超出我们的预期,同时也验证了我们在最初宣发文章里的观点SpringBoot+SpringCloud仍是当前使用相当广泛开发框架。在这一个月时间里,SpringCloudTencent的关注者们最关心的问题就是,......
2022-07-30 13:45:30
255
原创 你是这样的volatile,出乎意料
全文重点是围绕volatile的可见性和有序性展开的,其中花了不少的部分篇幅描述了一些计算机底层的概念,对于读者来说可能过于无趣,但如果你能认真看完,我相信你或多或少也会有一点收获。不去深究,volatile只是一个普通的关键字。深入探讨,你会发现volatile是一个非常重要的知识点。volatile能将软件和硬件结合起来,想要彻底弄懂,需要深入到计算机的最底层。但如果你做到了。你对Java的认知一定会有进一步的提升。只把眼光放在Java语言,似乎显得非常局限。httpshttpshttps。...
2022-07-30 13:39:22
220
原创 哎,这要人老命的缓存一致问题啊
本文主要介绍了以下几个关键内容缓存系统适用的场景读多写少。缓存系统的读写基本交互过程,读很简单,写有点复杂。缓存系统写时的不一致问题有内外两个因素外部读写的并发无序性和内部操作非原子性。使用缓存系统,我们就需要接受最终一致性的前提,否则不建议用缓存。解决缓存数据不一致的思路有很多,或多或少都有不足,具体用哪种,需要根据实际业务场景,没有哪种方案是普遍适用的。httpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttps。...
2022-07-30 13:35:03
212
原创 Java如何绑定线程到指定CPU上执行?
不知道你是啥感觉,但是我第一次看到这个问题的时候,我是懵逼的。而且它还是一个面试题。我懵逼倒不是因为我不知道答案,而是恰好我之前在非常机缘巧合的情况下知道了答案。我感觉非常的冷门,作为一个考察候选者的知识点出现在面试环节中不太合适,除非是候选者主动提起做过这样的优化。而且怕就怕面试官也是恰巧在某个书上或者博客中知道这个东西,稍微的看了一下,以为自己学到了绝世武功,然后拿出去考别人。这样不合适。说回这个题目。正常来说,其实应该是属于考察操作系统的知识点范畴。...
2022-07-30 13:30:47
1951
1
原创 这份神仙面试笔记,简直把所有Java知识面试题写出来了
该新版文档在Github上上传一个星期已经收获30K+star的Java核心面试神技(这参数,质量多高就不用我多说了吧)非常全面,包涵Java基础、Java集合、JavaWeb、Java异常、OOP、IO与NIO、反射、注解、多线程、JVM、MySQL、MongoDB、Spring全家桶、计算机网络、分布式架构、Redis、Linux、git、前端、由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!切换目录用什么命令?..
2022-07-29 15:03:35
311
原创 最强Java面试八股文秋招offer召唤术
又是一年秋招季,这几天“小镇做题家”的事闹得沸沸扬扬的,同为做题家的我表示真的有冒犯到,而我们程序员与别的行业还不一样,除了上学的时候要做题,我们上班了找工作还得做题,甚至Java面试八股文都变成一个热词,由此可见一斑。很多认非常反感这种面试模式,国内的互联网面试,恐怕是现存的、最接近科举考试的制度。而且,我国的八股文确实是独树一帜。以美国为例,北美工程师面试比较重视(Coding),近几年也会加入(系统设计和面向对象设计OOD)和(Behavioralquestion,行为面试问题)。......
2022-07-29 15:00:59
259
原创 理解JavaScript中的window对象
每个JavaScript环境都有一个全局对象(globalobject)。在全局范围内创建的任何变量实际上都是这个对象的属性,而任何函数都是它的方法。在浏览器环境中,全局对象是window对象,它代表了包含网页的浏览器窗口。在这篇文章中,我们将介绍Window对象的一些重要用途history。......
2022-07-29 14:55:33
562
原创 彻底搞懂kubernetes调度框架与插件
调度框架()是Kubernetes的调度器设计的的可插拔架构,将插件(调度算法)嵌入到调度上下文的每个扩展点中,并编译为在1.22之后,在中定义了一个的interface,这个interface作为了所有插件的父级。而每个未调度的Pod,Kubernetes调度器会根据一组规则尝试在集群中寻找一个节点。}下面会对每个算法是如何实现的进行分析在初始化scheduler时,会创建一个profile,profile是关于scheduler调度配置相关的定义关于profile对于。...
2022-07-29 14:53:42
731
原创 SQL Server、MySQL主从搭建,EF Core读写分离代码实现
Console.WriteLine($"读取SysUser,数量为{users.Count},当前链接字符串为{_dbContext.Database.GetDbConnection().ConnectionString}");原因是主从同步会有延迟,从库没那么快同步到数据,一般都有个0.几到1秒的延迟,这个可以调优,这里就不说多内容了,有兴趣的可以去查资料操作一下。//只读--------------------------------//新增-------------------...
2022-07-29 14:48:01
480
1
原创 SpringBoot整合RabbitMQ实现六种工作模式
整合SpringBoot实现RabbitMQ六种工作模式,并详细讲解RabbitMQ简单模式无需创建交换机,匹配生产端和消费的routingKey即可。工作模式多个消费端公平竞争同一个消息。发布订阅模式一次向多个消费者发送消息。路由模式根据特定的路由键转发消息。主题模式根据通配符,匹配路由键转发消息。RPC模式生产端接收消费端发送的返回值。...
2022-07-29 14:46:22
873
原创 Java中为什么只有值传递?
会创建栈地址副本(复制栈帧),栈地址最终并没有改变,改变的是堆内存中的值。虽然调用完函数后,str2变量值(堆中的数据)改变了,但是参数是引用类型,传递的实参是栈中地址值,这是我们关心的,拷贝的是栈中地址值,最终栈中地址值并没有改变。我们发现str变量没有改变,但是str2变量却改变了,大家是不是迷惑了Java传参的类型如果是引用数据类型,是。Java中只有值传递,始终是传值的,我们要牢记,这个是官方明确说的。如果参数是引用类型,传递的就是实参所引用的对象在栈中地址值的拷贝,这里创建的副本是。...
2022-07-29 14:42:41
360
原创 学会使用MySQL的Explain执行计划,SQL性能调优从此不再困难
本文详细介绍了Explain使用方式,以及每种参数所代表的含义。无论是工作还是面试,使用Explain优化SQL查询,都是必备的技能,一定要牢记。httpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttps。......
2022-07-29 14:41:39
705
原创 管理区解耦架构见过吗?能帮客户解决大难题的
类似公有云架构理念,主打政企客户本地部署的华为云Stack保持和华为公有云同架构,包括Region、AZ、主机组等相关区域概念也基本一致。从云平台相关组件/云服务作用域划分来看,通常业界也会将组件/云服务部署位置分为Global作用域和Region作用域,Global组件/服务就是属于云的管理区。•Global组件/服务华为云Stack已经在某股份制商业银行部署,通过管理区解耦,实现集权管理;在某保险机构通过该方案完成存量演进,保护客户已有投资;在某国有大行,实现集权管理和多region解耦独立升级。...
2022-07-29 14:38:52
262
原创 Redis系列:高可用之Sentinel(哨兵模式)
在实际生产环境中,服务器难免会遇到一些突发状况服务器宕机,停电,硬件损坏等等,一旦发生,后果不堪设想。哨兵模式的核心还是主从模式的演变,只不过相对于主从模式在主节点宕机导致不可写的情况下,多了探活,以及竞选机制从所有的从节点竞选出新的主节点,然后自动切换。竞选机制的实现,是依赖于在系统中启动sentinel进程,对各个服务器进行监控。Redis哨兵机制是实现Redis不间断服务的高可用手段之一。主从架构集群的数据同步,是数据可靠的基础保障;主库宕机,自动执行主从切换是服务不间断的关键支撑。...
2022-07-29 14:37:44
579
原创 互联网扫地僧精心总结,39W字上千道Java一线大厂面试题手册
这位扫地神僧给我们整理出来了上千道一线大厂的面试题,包含了当下最火的(基础/字符串/集合/并发编程/JVM/数据结构算法/网络协议/数据库/框架/微服务/中间件/Linux)等面试热门技术点!下面会给大家展示这份内容中的相关知识点面试问题和内容截图,因为这份资料内容实在是太多了,所以可能展示的不会太全面,不过放心小编已经给大家整理到网盘了,感兴趣的朋友详见文末哦~今天给大家总结出一份500页超39w字的一线大厂Java面试题,来自一位不愿意透露姓名的大厂扫地僧。剩下的内容就不给大家一一展示出来了,...
2022-07-28 14:02:12
411
原创 Java事务编程-弱隔离级别之写倾斜与幻读
因为刚才的写改变了符合搜索条件的行集(现在少了一个医生值班,那时的会议室现已被预订,棋盘上的这个位置已被占,用户名已被抢注,账户余额不够)。这种异常称为写倾斜,不是脏写,也不是丢失更新,这俩事务更新的是两个不同对象(Alice和Bob各自值班记录)。快照隔离避免了只读查询中的幻读,但是在像我们讨论的例子那样的读写事务中,幻读会导致特别棘手的写倾斜。当有人想要预订时,首先检查是否存在相互冲突的预订(即预订时间范围重叠的同一房间),若无,则创建会议(参阅示例-2))再查询可保证事务安全,避免写倾斜。...
2022-07-28 14:00:00
2296
原创 看完这篇,所有JAVA并发问题你都能应对自如
对象锁是用于对象实例方法,或者一个对象实例上的,类锁是用于类的静态方法或者一个类的class对象上的。我们知道,类的对象实例可以有很多个,但是每个类只有一个class对象,所以不同对象实例的对象锁是互不干扰的,但是每个类只有一个类锁。但是有一点必须注意的是,其实类锁只是一个概念上的东西,并不是真实存在的,类锁其实锁的是每个类的对应的class对象。类锁和对象锁之间也是互不干扰的。Daemon(守护)线程是一种支持型线程,因为它主要被用作程序中后台调度以及支持性工作。......
2022-07-28 13:59:25
239
原创 AOP通知获取数据(参数、返回值、异常)
有了这个特性后,我们就可以在环绕通知中对原始方法的参数进行拦截过滤,避免由于参数的问题导致程序无法正确运行,保证代码的健壮性。这块比较简单,以前我们是抛出异常,现在只需要将异常捕获,就可以获取到原始方法的异常信息了。获取切入点方法返回值,前置和抛出异常后通知是没有返回值,后置通知可有可无,所以不做研究。获取切入点方法运行异常信息,前置和返回后通知是不会有,后置通知可有可无,所以不做研究。就是方法的返回值,我们是可以直接获取,不但可以获取,如果需要还可以进行修改。...
2022-07-28 13:57:14
2269
原创 聊一聊数据库的行存与列存
所以,列存储的解析过程更有利于分析大数据。同一列的数据,数据类型一致,列存的模式下就适合数据压缩,不同的列可以采用不同的压缩算法,压缩存储就会带来IO性能的提升。表的列数一般情况下,如果表的字段比较多即列数多(大宽表),查询中涉及到的列不多的情况下,适合列存储。1)行存储通常将一行数据完全取出,如果只需要其中几列数据的情况,就会存在冗余列,出于缩短处理时间的考量,消除冗余列的过程通常是在内存中进行的。而列存的时候,单个属性所有的值存储在临近的的空间,即一列的所有数据连续存储的,每个属性有不同的空间。...
2022-07-28 13:52:23
636
原创 蚂蚁集团境外站点 Seata 实践与探索
PART. 1背景蚂蚁国际境外银行业务正在部分迁移至阿里云,原内部使用的 SOFA 技术栈无法在阿里云上得到支持。为了满足银行业务快速发展、简化银行系统技术栈的目标,我们采用了 Spring+Dubbo 等一套开源的技术方案重新构建起了新的技术栈。蚂蚁集团作为金融机构,内部应用采用了微服务架构,数据间的一致性极其重要,但蚂蚁内部原有的分布式事务框架,在阿里云上也无法提供技术支持。Seata 是分布式事务解决方案,囊括了阿里集团的 TXC (阿里云版本称为 GTS) 和蚂蚁集团的 TCC/SAGA 等多种模式
2022-07-28 13:51:35
369
原创 MySQL 是如何归档数据的呢?
5)--bulk-delete--limit1000--bulk-insert与--bulk-delete--limit1000--commit-each--bulk-insert相比,没有设置--commit-each。其中,--bulk-delete--limit1000--commit-each--bulk-insert是最快的。2)如果不指定--bulk-insert且没指定--commit-each,则目标库的插入还是会像Demo中显示的那样,逐行提交。...
2022-07-28 13:50:27
540
原创 技术选型Rust——事后分析
每当收到payload的时候,如果是我感兴趣的消息,那么就提取相应的信息,发送给另外一个服务器。这里稍微花点时间的是第二个eventloop,一开始我在poem的main函数里面开启一个线程,在线程里面使用loop来循环从消息队列获取消息。而学会Rust的投入因人而异,就不考虑了。能启动了,但是短暂的测试后,发现这样的程序有一个很奇怪的bug第一条消息永远不会被消费,而后面到来的消息正常。用Rust花费两天写了这个微服务,如果是使用Python,那么去掉Rust才有的问题,写这个微服务只需要1天。...
2022-07-28 13:48:02
900
原创 不用Swagger,那我用啥?
除了rel和path两个属性之外,@RestResource中还有一个属性,exported表示是否暴露接口,默认为true,表示暴露接口,即方法可以在前端调用,如果仅仅只是想定义一个方法,不需要在前端调用这个方法,可以设置exported属性为false。SpringDoc扮演的角色毕竟不是业务功能,而是项目的辅助功能,所以,我们可以将之从业务中剥离,放到Actuator中,毕竟Actuator专干这种事。...
2022-07-28 13:46:38
439
原创 阿里技术四面+交叉面+HR面,成功拿到offer,双非本科进不了大厂?
前两天,我收到了阿里巴巴的实习offer,从学长内推开始面试到拿到最后offer经历了4面技术、一面交叉面和一面HR面。经过了漫长的等待和几次几乎折磨的面试之后,终于拿到了实习offer。本人来自西南某双非本科学校,该校学的专业是物联网工程。我的专业与Java开发关系不大,学校也只教过一些简单的编程课,其余的编程相关知识都是自己在课余时间在实验室学习和自学的。技术不是大牛,项目做得多但是大部分都是自己练手的小项目或者一些有意思的小项目,没有接触过真正意义上的大项目。面试准备面经面经面经面经https。...
2022-07-27 14:40:24
641
原创 GitHub上标星95k+超牛的《Java面试突击版》PDF
1.1如何准备一场面试1.2简历该如何写1.3如果面试官问你“你有什么问题问我吗?”时,你该如何回答1.4面试官问你的优点是什么,应该如何回答?1.5面试官问你的缺点是什么,应该如何回答?1.6七个大部分程序员在面试前很关心的问题3.1TCP、UDP协议的区别3.2在浏览器中输入ur1地址->>显示主页的过程3.3各种协议与HTTP协议之间的关系3.4HTTP长连接、短连接3.5TCP三次握手和四次挥手面试常客)httpshttps。...
2022-07-27 14:36:53
2435
原创 SpringBoot 接口数据加解密实战
OK,客户端请求加密-》发起请求-》服务端解密-》业务处理-》服务端响应加密-》客户端解密展示,看起来没啥问题,实际是头天下午花了2小时碰需求,差不多花1小时写好demo测试,然后对所有接口统一进行了处理,整体一下午赶脚应该行了吧,告诉H5和安卓端同学明儿上午联调(不小的大家到这个时候发现猫腻没有,当时确实疏忽了,翻了大车……次日,安卓端反馈,你这个加解密有问题,解密后的数据格式和之前不一样,仔细一看,擦,这个userType和registerTime是不对劲,开始思考这个能是哪儿的问题呢?...
2022-07-27 14:22:31
308
原创 快速搭建一个网关服务,动态路由、鉴权的流程,看完秒会(含流程图)
本文记录一下我是如何使用Gateway搭建网关服务及实现动态路由的,帮助大家学习如何快速搭建一个网关服务,了解路由相关配置,鉴权的流程及业务处理,有兴趣的一定看到最后,非常适合没接触过网关服务的同学当作入门教程。Gateway通过配置项可以实现路由功能,整合Nacos及配置监听可以实现动态路由,实现GlobalFilter,Ordered两个接口可以快速实现一个过滤器,文中也详细的介绍了登录后的请求鉴权流程,如果有不清楚地方可以评论区见咯。endhttpshttpshttpshttps。......
2022-07-27 14:19:02
185
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人