Kubernetes-K8S Kubernetes由于单词太长,省略掉中间8个字母简称为。它介于应用服务和服务器之间。能够通过策略协调和管理多个服务,只需要一个YAML文件配置。定义应用的部署顺序等信息,自动部署应用到各个服务器,还可以自动扩容缩容。
Mqtt协议网络搭建以及程序实现 MQTT 是一种比 HTTP 协议更简单的通信协议,适用于各种设备,包括手机、电脑以及智能手环等。订阅者(Subscriber):注册接收某个主题的消息,当有消息发布到该主题时,就能收到相应的通知。服务器(Broker):充当中介,接收发布者的消息并将其转发给订阅了相应主题的订阅者。主题(Topic):一个字符串,发布者定义主题,订阅者通过订阅主题来接收消息。负载(Payload):也是一个字符串,包含了实际的消息内容。发布者(Publisher):负责将消息发送到指定的主题。消息到达时候的回调函数。
Seata之分布式事务 标注全局@GlobalTransactional启动入口动作的微服务模块(比如订单模块),它是事务的发起者,负责定义全局事务范围,并且根据TC维护的全局事务和分支事务状态,做出开始事务、提交事务、回滚事务的决议。RM(Resource Manager)-资源管理器:管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并且驱动分支事务提交或者回滚。就是mysql数据库本身,可以是多个RM,负责管理分支事务上的资源,向TC注册分支事务,汇报分支事务状态,驱动分支事务的提交或者回滚。
GateWay网关微服务定位和理论知识 客户端向Spring Cloud Gateway发送请求。SPring Cloud Gateway组件的核心是一系列的过滤器,通过这些过滤器可以将客户端发送的请求转发(路由)到对应的微服务。断言(predicate)参考的是java8的java.util.function.predicate开发者可以匹配http请求中的所有内容(例如请求头或者请求参数),如果请求与断言橡皮撇则进行路由。过滤:指的是Spring框架中的Gatewayfilter的实例,使用过滤器,可以在请求被旅游前或者之后对请求进行修改。
Ribbon负载均衡与内核原理 集中式负载均衡,在消费者和服务提供方中间使用独立的代理方式进行负载,有硬件的(比如F5),也有软件的(Nginx)客户端根据自己的请求做负载均衡,Ribbon就属于客户端自己做负载均衡。Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端的负载均衡工具,Ribbon客户端组件提供一系列的完善的配置,如超时,重试等,通过Load Balancer获取到服务提供的所有机器实例,Ribbon会自动基于某种规则(轮询,随机)去调用这些服务。
Sentinel初步了解 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应”。如果依赖的服务出现了不稳定的情况,请求的响应时间变长,那么调用服务的方法的响应时间也会变长,线程会产生堆积,最终可能耗尽业务自身的线程池,服务本身也变得不可用。此时,上游服务会以有限的流量来调用下游服务,同时,会监控调用的成功率。
Open Feign初步了解 在openFeign的实现下,我们只需要创建一个接口并使用注解的方式来配置它(在一个微服务接口上面标注一个@FeignClient注解即可),即可完成对服务提供方的接口绑定,统一对外暴漏可以被调用的接口方法,大大简化和降低了调用客户端的开发量,也即由服务提供者给出调用接口清单,消费者直接通过调用OpenFeign调用即可。但是实际中,由于对服务依赖的调用不止一处,往往一个接口会被多处调用,所以通常会针对每个微服务自行封装一些客户端来包装这些依赖的调用。openFeign基本上就是当前微服务调用的事实标准。
MQ服务初步认识 MQ翻译为消息队列,通过典型的生成者和消费者模型,生产者不断向消息队列生成消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接受,没有业务逻辑的侵入,轻松的实现系统间解耦,别名为消息中间件。通过利用高效可靠的消息队列传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。云原生、消息、事件、流 实时数据处理平台,覆盖云边端一体化数据处理场景。物联网:IOT -》 连接网络 -》 小米台灯 -》 小米物联网平台 -》app。
Redis代替Session实现共享 session共享问题:多台tomcat并不共享session存储空间,当请求切换到不同的tomcat服务时导致数据丢失的问题。将redis替换session可以解决session共享问题。
Spring Security+Spring Boot实现登录认证以及权限认证 认证流程:AuthenticationManager为这个系统所支持的所有认证协议,统一提供authenticate方法,比如支持用户名密码登录,也支持短信登录,第三方授权登录,不论哪种方式登录,最终都交由这个方法执行,其实现类ProviderManager则高度封装了认证过程,使得不同认证协议进入不同的认证实现类,然后都返回Authentication对象。
Sping Boot全局异常捕捉 在日常项目开发中,异常是常见的,但是如何更高效的处理好异常信息,然我们能快速定位到BUG,是很重要的,不经能够提高我我们的开发效率,还能让代码看起来更加舒服。Spring Boot的项目已经有一定的异常处理,但是对于开发者而言就不太合适,因此我们需要对这些异常进行统一的捕获并且处理。@Data//编码:1成功,0和其它数字为失败//错误信息//数据//状态SYSTEM_ERROR(50000, "系统内部异常");/*** 信息*/
外卖系统关于redis使用解决高并发情况 操作步骤:1、导入Spring Data Redis的maven坐标2、配置Redis数据源3、编写配置类,创建RedisTemplate对象4、通过RedisTemplate对象操作Redis。
外卖系统公共字段自动填充 *** 更新操作*/UPDATE,/*** 插入操作*/INSERT/** 指定切入点* */定义通知在通知中进行公共字段填充//定义通知,在通知中进行公共字段的赋值log.info("开始进行公共字段的填充");//获取到当前被拦截的方法上的数据库操作类型//方法签名对象//获得方法上的注解//获得数据库操作类型//获取到当前被拦截的方法的参数--实体对象return;//准备赋值的数据//根据当前不同的操作类型,为对应的属性通过反射来赋值。
外卖系统拦截器实现(Interceptor) 会话:用户打开浏览器,访问web服务器的资源,会话开始建立,直到有一方断开连接,会话结束。再一次会话中可以包含多次请求和响应。会话跟踪:一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一浏览器,一边在统一会话的多次请求之间共享数据。客户端会话技术:Cookie服务端绘画技术:Session。