08 2020 档案
摘要:先说一下java中15中锁 公平锁/非公平锁 公平锁 : 公平锁是指多个线程按照申请锁的顺序来获取锁。 非公平锁: 非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级反转或者饥饿现象。对于Java ReentrantLock而言,
阅读全文
摘要:现在两个线程,可以操作初始值为0的一个变量, 实现一个线程对该变量+1,一个线程-1 ,实现交替来10轮 判断/干活/通知 防止虚假唤醒(唤醒以后没判断) class AirCondition{ private int number = 0; public synchronized void inc
阅读全文
摘要:Monitor是一个同步工具,相当于操作系统中的互斥量(mutex),即值为1的信号量。 它内置与每一个object对象中,相当于一个许可证。拿到许可证既可以进行操作,没有难道则需要阻塞等待。 synchronized 实现原理 synchronized 又叫做内置锁,为什么呢?因为使用synchr
阅读全文
摘要:一个对象里面如果有多个synchronized 方法,某一个时刻内,只要一个线程去调用其中的一个synchronized方法,其他线程都只能等待话句话说,某一个时刻内,只能有唯一一个线程去访问这些synchronized方法 锁的是当前对象this,被锁定后,其他线程都不能进入到当前对象的其他的sy
阅读全文
摘要:JUC (java.util.concurrent) 1.1 进程/线程 1.2 并发和并行有什么区别? 并发就像是秒杀一样,多个线程去访问同一个资源。并行各种事情一路并行去做 JUC的三个包 java.util.concurrent java.util.concurrent.atomic(原子性)
阅读全文
摘要:java学习者都清除arraylist并不是线程安全的,在读线程读取arraylist的时候,如果有写线程在写数据的时候,基于fast-fail机制,会抛出concurrentmodificationexception异常,也就是说arraylist并不是一个线程安全的容器,当然可以用vector,
阅读全文
摘要:阈值类型/单机阈值: QPS(每秒的请求数量):当调用该api的QPS达到阈值时,进行限流 线程数:当调用该api的线程数达到阈值的时候,进行限流 是否集群:不需要 流控模式: 直接:api达到限流条件时,直接限流 关联:当关联的资源达到阈值时,就限流自己 链路:只记录指定链路上的流量(指定资源从入
阅读全文
摘要:Hystrix 1.需要自己手工搭建监控平台 2.没有一套可视化界面进行更细的配置,如流量监控、速率的控制、服务熔断、服务降级 而 Sentinel 1.单独一个组件,可以独立出来 2.直接界面化的细粒度统一配置 约定>配置>编码
阅读全文
摘要:Nacos 支持三种部署模式: 单机模式 - 用于测试和单机试用 集群模式 - 用于生产环境,确保高可用 多集群模式 - 用于多数据中心场景 默认Nacos使用嵌入式数据库实现数据的存储。所以,如果启动多个默认配置下的Nacos节点,数据存储时存在一致性问题的。。 为了解决这个问题,Nacos采用了
阅读全文
摘要:Nacos配置中心 ——基础配置 可以自动刷新,但是分类配置呢? Q1:如果实际开发中,通常一个系统会准备,dev开发环境,test测试环境,prod生产环境, 那如何保证指定环境启动时服务能正确读取到Nacos上相应环境的配置文件呢? Q2:一个大型分布式微服务系统会有很多微服务子项目,每个微服务
阅读全文
摘要:服务注册与发现框架 CAP 模型 控制台管理 社区活跃度 Eureka AP 支持 低(2.x版本闭源) Zookeeper CP 不支持 中 Consul CP 支持 高 Nacos AP/CP 支持 高 一致性(Consistency)、可用性(Availability)、分区容错性(Parti
阅读全文
摘要:功能 服务限流降级: 默认支持 Servlet、Feign、RestTemplate、Dubbo和RocketMQ 限流降级功能的介入,可以再运行时通过控制台实时司改限流降级规则,还支持查看限流降级 Metrics 监控。 服务注册与发现:适配Spring Cloud 服务注册与发现标准,默认集成了
阅读全文
摘要:表示一条请求链路,一条链路通过Trace ID唯一标识,Span 标识发起的请求信息,各span通过 parent id 关联起来 Trace: 类似于树结构的Span集合,表示一条调用链路,存在唯一标识 Span:表示调用链路的来源,通俗理解span就是一次请求信息
阅读全文
摘要:在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个前端请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或者错误都会引起整个请求最后的失败。 所以面对长链路调用、多个节点调用的时候,需要一套监控、跟踪的组件技术去进行跟踪
阅读全文
摘要:故障现象: 重复消费:当两个端口号同时收到了 ,也就是一个订单同时被两个服务获取到,那么就会造成数据错误。 在生产实际中一定要避免重复消费这个环节,而解决此现象可以采用分组或者持久化方法 在Stream中处于同一个group中的多个消费者是竞争关系,就能保证消息只会被其中一个应用消费一次。而不同组是
阅读全文
摘要:解决痛点 :屏蔽底层消息中间件的差异,降低切换成本,统一消息的编程模型 SpringCloud Stream 是一个构件消息驱动微服务的框架。 应用程序通过 消息的发送者和消费者( inputs 或者 outputs )来与 springcloud stream 中 绑定器(binder)对象交互。
阅读全文
摘要:SpringCloud Bus 配合SpringCloud Config 使用可以实现配置的动态刷线,Bus是用来将分布式系统的节点与轻量级消息系统链接起来的框架,它整合了Java的事件处理机制和消息中间件的功能。 什么是总线, 在微服务架构的系统中,通常会使用轻量级的消息代理来构建一个共用的消息主
阅读全文
摘要:Springcloud Config 为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置。 而SpringCloud Config分为服务端和客户端两部分。 服务端 也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置服务器并为
阅读全文
摘要:服务网关 统一的挡在前面服务 日志、限流、权鉴 网关在微服务的定位 外部请求(手持终端、html5、Open接口)==》 负载均衡(Nginx等) ==》 网关 ==》 微服务(A,B,C) (zuul 1.x 是一个基于阻塞 I/O 的API Gateway,是基于Servlet2.5使用阻塞架构
阅读全文

浙公网安备 33010602011771号