01 2021 档案
摘要:先看一段代码 public class ThreadDemo extends Thread{ private String name; public ThreadDemo(String name) { this.name = name; } @Override public void run() {
阅读全文
摘要:什么是Service Mesh? 根据Linkerd CEO William Morgan定义,Service Mesh是用于处理服务间通信的基础设施层,用于在云原生应用复杂的服务拓扑中实现可靠的请求传递。在实践中,Service Mesh通常是一组与应用一起部署,但对应用透明的轻量级网络代理。
阅读全文
摘要:什么是规则引擎 规则引擎是一个将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策的组件,它接受数据输入,解释业务规则,并根据业务规则做出业务决策。 规则引擎可以解决什么问题 随着对业务理解的不断深入和抽象,可以发现很多业务场景的功能(代码)都可以抽象成“规则+指标”的模式。这种模
阅读全文
摘要:秒杀系统在很多平台都有,小米手机的秒杀购买,京东618,淘宝双11等等。 秒杀系统特点 1. 瞬时流量突增 秒杀活动一般会定某个特定时间开启,大量用户请求在活动开始的瞬间涌入,会给服务造成极大的压力。 2. 持续时间短 一半秒杀活动持续时间比较短,可能几个小时就结束了。 3. 对数据的争抢,数据一致
阅读全文
摘要:认识分布式数据库 分布式数据库就是在分布式架构下实现的关系型数据库。
阅读全文
摘要:Eureka是什么 Eureka是Netflix的一个子模块,采用的是c/s架构,Spring Cloud 中将 Eureka 集成在 Spring Cloud Netflix 项目中。Eureka是一个基于REST的服务,用来实现服务注册和发现,负载均衡等功能。 Spring Cloud内置Eur
阅读全文
摘要:读写分离优化了互联网读多写少场景下的性能问题,考虑一个业务场景,如果读库的数据规模非常大,除了增加多个从库之外,还有其他的手段吗?实现数据库高可用,还有另外一个撒手锏,就是分库分表。 为什么要分库分表 一般Mysql一个单库最多支持并发量到2000,且最好保持在1000。如果有20000并发量的需求
阅读全文
摘要:Lease机制,翻译过来即是租约机制,是一种在分布式系统常用的协议,是维护分布式系统数据一致性的一种常用工具。 Lease机制有以下几个特点: 1.Lease是颁发者对一段时间内数据一致性的承诺; 2.颁发者发出Lease后,不管是否被接收,只要Lease不过期,颁发者都会按照协议遵守承诺; 3.L
阅读全文
摘要:在分布式系统中有个CAP理论,对于P(分区容忍性)而言,是实际存在 从而无法避免的。 因为分布式系统是由多个节点(指代一台服务器、存储设备等)构成,由于网络异常、宕机等节点并不能保证正常工作,特别是在节点数量很大的时候,出现异常状况的节点几乎是肯定的。为了保证系统的正常运行,能够提供可靠的服务,分布
阅读全文
摘要:ZAB一致性协议 ZAB ( ZooKeeper Atomic Broadcast , ZooKeeper 原子消息广播协议)是zookeeper数据一致性的核心算法。 ZAB协议论文地址:http://www.tcs.hut.fi/Studies/T-79.5001/reports/2012-de
阅读全文
摘要:一. 什么是分布式事务 分布式事务关注的是分布式场景下如何处理事务,是指事务的参与者、支持事务操作的服务器、存储等资源分别位于分布式系统的不同节点之上。简单来说,分布式事务就是一个业务操作,是由多个细分操作完成的,而这些细分操作又分布在不同的服务器上,事务,就是这些操作要么全部成功执行,要么全部不执
阅读全文
摘要:在微服务架构中,一组细粒度微服务通过相互交互以构建应用或实现业务功能。每个细粒度的服务是实现单个功能或通过网络访问实现几个相关功能。这导致被攻击机会增加,尤其显得微服务架构的安全性非常重要。 保护微服务安全的一些常见技术 1)边界安全 执行边界安全是保护微服务的一种非常传统的方法。 这意味着单个微服
阅读全文
摘要:业界大部分的应用分布式追踪的原理源自 Google 的一篇 Dapper 系统的论文。Dapper是谷歌内部使用的分布式链路追踪系统,虽然没有开源,但是Google在其2010年发布的一篇论文中对其进行了详细的介绍。可以说,Dapper是链路追踪领域的始祖,其提出的概念和理念一致影响着后来所有的分布
阅读全文
摘要:一. 四种监控方式 1) Logging:应用程序,开发中间件,web系统等所输出的一些结构化/非结构化的日志,例如应用程序通过一个滚动的文件输出debug或error信息,并通过日志收集系统存储到Elasticsearch中。这是一种最常见的一种监控方式。 2)Tracing:比如分布式调用链CA
阅读全文
摘要:什么是分布式定时任务 把分散的,可靠性差的计划任务纳入统一的平台,并实现集群管理调度和分布式部署的一种定时任务的管理方式。叫做分布式定时任务。 常见开源方案 1. elastic-job 2. xxl-job 3. quartz 4. saturn 5. opencron 6. antares 一.
阅读全文
摘要:随着业务的发展,应用系统中的配置会越来越多,配置之间也有不同的业务特点,比如业务依赖的数据库配置、缓存信息配置、索引存储配置等。这类配置一般比较稳定,不会频繁更改,通常会放在工程中作为配置文件随应用一起发布。 除了这些配置,还有一部分配置会经常发生修改,比如限流降级开关配置、业务中的白名单配置等。这
阅读全文
摘要:一. 微服务限流 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。缓存、降级和限流是保护微服务系统运行稳定性的三大利器。 缓存的目的是提升系统访问速度和增大系统能处理的容量,而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开,而有些场景并不能用缓存和降级
阅读全文
摘要:一. 为什么需要 网关 微服务下网关(API Gateway)是一个服务器,是系统的唯一入口,是统一管理API的一个网络关口、通道,是整个微服务平台所有请求的唯一入口,所有的客户端和消费端都通过统一的网关接入微服务。从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部架构,为每个客户端
阅读全文