摘要:
1、Nginx服务器端负载均衡,客户端所有请求nginx处理,进行转发。 2、Ribbon客户端的负载均衡,Ribbon从eureka注册中心服务端获取注册信息列表,缓存到本地,然后在本地实现轮训负载均衡策略。即客户端的负载均衡。 负载均衡的主要作用如下: 高并发: 负载均衡通过算法调整负载,尽力均 阅读全文
摘要:
CAP 理论是分布式系统的理论基础,一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)。 一致性:在写操作之后的所有读操作,必须返回该值。 可用性:对于一个可用性的分布式系统,每一个非故障的节点必须对每一个请求作出响应,衡量一个 阅读全文
摘要:
redis内部整体的存储结构是一个大的hashmap,内部是数组实现的hash,key冲突通过挂链表去实现,每个dictEntry为一个key/value对象,value为定义的redisObject。 结构图如下: dictEntry是存储key->value的地方,再让我们看一下dictEntr 阅读全文
摘要:
1、穿透 频繁访问redis和数据库中没有的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。 解决方案: ①接口层增加校验,如用户鉴权校验,id做基础校验,id<=0的直接拦截; ②从缓存取不到的数据,在数据库中也没有取到,这时也可以将key-value对写为key-null,缓存有效时间 阅读全文
摘要:
垃圾回收 对象存活算法: 1、引用计数器 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器就加1;当引用失效时,计数器值就减1;任何时刻计数器都为0的对象就是不可能再被使用的。 2、可达性分析算法 从GC Root开始搜索,且搜索不到的对象 跟搜索算法:以一系列名为 GC R 阅读全文
摘要:
参照:https://www.cnblogs.com/wugongzi/p/12092326.html 按照“流”的数据流向,可以将其化分为:输入流和输出流。 按照“流”中处理数据的单位,可以将其区分为:字节流和字符流。在java中,字节是占1个Byte,即8位;而字符是占2个Byte,即16位。而 阅读全文
摘要:
Spring两大功能,IOC(控制反转)、AOP(面向切面)。 IOC Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java 开发中,Ioc 意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。 AOP Spring AOP代理对象 阅读全文
摘要:
MQ的主要特点为解耦、异步、削峰。或者说 1、系统解耦 2、流量削峰 3、异步分发 用于减少数据库压力的业务场景,其中RocketMQ的核心组件概念如下: Producer:生产发送消息 Broker:存储Producer发送过来的消息 Consumer:从Broker拉取消息并进行消费 NameS 阅读全文
摘要:
1、API 网关 在微服务架构中,UI 通常连接多个微服务。如果微服务是细粒度的(FaaS) ,那么客户端可能需要连接非常多的微服务,这将变得繁杂和具有挑战性。此外,这些服务包括它们的 API 还将不断进化。大型企业还希望能有其他横切关注点(SSL 终止、身份验证、授权、节流、日志记录等)。 一个解 阅读全文
摘要:
Java运行时数据区(jvm内存分配) 1、程序计数器或者叫PC寄存器(Program Counter Register),记录程序让出CPU时运行位置。 2、虚拟机栈(JVM Stacks),局部变量表,操作数栈,动态链接,方法返回地址,附加信息。 3、本地方法栈本地方法接口(Native Met 阅读全文