随笔分类 -  H =分布式架构

分布式架构实践
摘要:1.设置密码方法 在 redis.conf 的配置文件中修改参数 requirepass 的值为需要设置的密码, 保存配置文件后,重启Redis就可以。 建议 设置比较复杂和长的密码,防止被暴力破解。 2.redis-cli连接redis方式 (1)连接:redis-cli -p 6391 (2)认 阅读全文
posted @ 2019-11-29 23:26 xkzhangsanx 阅读(496) 评论(0) 推荐(0) 编辑
摘要:一、单点登录流程 客户端 1.拦截客户端的请求判断是否有局部的session 2.1如果有局部的session,放行请求. 2.2如果没有局部session 2.2.1请求中有携带token参数 2.2.1.1如果有,使用HttpURLConnection发送请求校验token是否有效. 2.2.1 阅读全文
posted @ 2019-08-13 22:35 xkzhangsanx 阅读(1155) 评论(0) 推荐(0) 编辑
摘要:Sentinel 阿里巴巴开源产品,把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 Nacos 阿里巴巴开源产品,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 RocketMQ Apache RocketMQ™ 基于 Java 的高性能、高吞吐量 阅读全文
posted @ 2019-08-01 00:02 xkzhangsanx 阅读(3334) 评论(0) 推荐(0) 编辑
摘要:最近一直在针对SpringCloud框架做项目,从中踩了不少的坑,也渐渐梳理出了一些内容,由于SpringCloud作为一个全家桶,其中东西太多,所以这时候就要有所取舍,这里就想把自己比较常用组件及架构推荐上来。本文基于SpringBoot 1.5.7和SpirngCloud Dalston.SR5 阅读全文
posted @ 2019-07-28 23:00 xkzhangsanx 阅读(356) 评论(0) 推荐(0) 编辑
摘要:0. dubbo同步调用、异步调用和是否返回结果配置 (1)dubbo默认为同步调用,并且有返回结果。 (2)dubbo异步调用配置,设置 async="true",异步调用可以提高效率。 (3)dubbo默认是有返回结果,不需要返回,可以设置return="false",不需要返回值,可以减少等待 阅读全文
posted @ 2019-07-27 17:48 xkzhangsanx 阅读(1394) 评论(0) 推荐(0) 编辑
摘要:1.整体设计 (1)架构图 图例说明: 图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于中轴线上的为双方都用到的接口。 图中从下至上分为十层,各层均为单向依赖,右边的黑色箭头代表层之间的依赖关系,每一层都可以剥离上层被复用,其中,Service 和 Config 阅读全文
posted @ 2019-07-20 23:05 xkzhangsanx 阅读(402) 评论(0) 推荐(0) 编辑
摘要:0.JTA(Java Transaction Manager)的介绍 (1)jta与jdbc 简单的说 jta是多库的事务 jdbc是单库的事务 (2)XA与JTA XA : XA是一个规范或是一个事务的协议.XA协议由Tuxedo首先提出的,并交给X/Open组织,作为资源管理器(数据库)与事务管 阅读全文
posted @ 2019-07-20 17:24 xkzhangsanx 阅读(2940) 评论(0) 推荐(0) 编辑
摘要:“高可用性”(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。以下是高可用系统的设计建议: 减少单点 去单点首先要识别整个系统所有主链路的单点,如机房(同城异地双机房),应用服务器,DNS服务器,SFTP服务器,LBS,缓存服务器,数 阅读全文
posted @ 2019-06-30 18:30 xkzhangsanx 阅读(370) 评论(0) 推荐(0) 编辑
摘要:转自:https://kefeng.wang/2018/07/22/mysql-sharding/ 众所周知,数据库很容易成为应用系统的瓶颈。单机数据库的资源和处理能力有限,在高并发的分布式系统中,可采用分库分表突破单机局限。本文总结了分库分表的相关概念、全局ID的生成策略、分片策略、平滑扩容方案、 阅读全文
posted @ 2019-06-16 22:29 xkzhangsanx 阅读(3681) 评论(1) 推荐(0) 编辑
摘要:消息延时在日常随处可见: 1、订单创建10min之后不发起支付,自动取消。 2、30min定时推送一次邮件信息。 最常用到方式后台定时任务轮训,量小的时候可以使用,量大会出现数据读取会性能问题。RabbitMQ并没有直接实现延时队列,但是可以利用RabbitMQ两个属性实现延时队列特性: 1、x-m 阅读全文
posted @ 2019-06-14 23:39 xkzhangsanx 阅读(1342) 评论(0) 推荐(0) 编辑
摘要:引言 在开发中,往往会遇到一些关于延时任务的需求。例如 生成订单30分钟未支付,则自动取消 生成订单60秒后,给用户发短信 对上述的任务,我们给一个专业的名字来形容,那就是延时任务。那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下几点区别 下面,我们以判断订单是否超时为 阅读全文
posted @ 2019-06-14 23:34 xkzhangsanx 阅读(243) 评论(0) 推荐(0) 编辑
摘要:在开发高并发系统时,有三把利器来保护系统:缓存、降级和限流。下面来看看限流量的一些算法: 1.计数器法: 它是限流算法中最简单最容易的一种算法,比如我们要求某一个接口,1分钟内的请求不能超过10次,我们可以在开始时设置一个计数器, 每次请求,该计数器+1;如果该计数器的值大于10并且与第一次请求的时 阅读全文
posted @ 2019-05-29 00:13 xkzhangsanx 阅读(263) 评论(0) 推荐(0) 编辑
摘要:常见的几种负载均衡算法 1、轮询法 将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。 2、随机法 通过系统的随机算法,根据后端服务器的列表大小值来随机选取其中的一台服务器进行访问。由概率统计理论可以得知,随着客户端调用服务端的次数增多 阅读全文
posted @ 2019-05-29 00:00 xkzhangsanx 阅读(875) 评论(0) 推荐(0) 编辑
摘要:今天 Apache Dubbo 晋升为 Apache 基金会顶级项目 祝贺!!! dubbo地址:http://dubbo.apache.org/zh-cn/ dubbo中文文档:http://dubbo.apache.org/zh-cn/docs/user/quick-start.html 1. 阅读全文
posted @ 2019-05-21 22:16 xkzhangsanx 阅读(938) 评论(0) 推荐(0) 编辑
摘要:一、为什么使用消息队列? 为什么使用?其实就是在实际业务中,有个具体的场景,如果不使用MQ,可能会有很多麻烦,用了MQ之后带给我们很多好处。场景其实有很多,常见的有三个:1.解耦、2.异步、3.削峰 1.解耦 A系统要发送一条数据到BCD三个系统,接口调用发送,如果新增个E系统,也需要这条数据呢?如 阅读全文
posted @ 2019-05-20 22:40 xkzhangsanx 阅读(316) 评论(0) 推荐(0) 编辑
摘要:分类 本地缓存(HashMap/ConcurrentHashMap、Ehcache、Guava Cache等), 缓存服务(Redis/Tair/Memcache等)。 使用场景 什么情况适合用缓存?考虑以下两种场景: 1、短时间内相同数据重复查询多次且数据更新不频繁,这个时候可以选择先从缓存查询, 阅读全文
posted @ 2019-05-19 23:00 xkzhangsanx 阅读(105) 评论(0) 推荐(0) 编辑
摘要:一、缓存更新 一般来说缓存的更新有两种情况: 先删除缓存,再更新数据库。 先更新数据库,再删除缓存。 这两种情况在业界,大家对其都有自己的看法。具体怎么使用还得看各自的取舍。当然肯定会有人问为什么要删除缓存呢?而不是更新缓存呢?你可以想想当有多个并发的请求更新数据,你并不能保证更新数据库的顺序和更新 阅读全文
posted @ 2019-05-19 22:58 xkzhangsanx 阅读(114) 评论(0) 推荐(0) 编辑
摘要:一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ 二、消息队列应用场景以下介绍消息队列在 阅读全文
posted @ 2019-05-19 22:52 xkzhangsanx 阅读(208) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示