架构设施
文章平均质量分 73
Gashina
这个作者很懒,什么都没留下…
展开
-
Zookeeper集群选举策略
Zookeeper集群选举原理Zookeeper的角色1.领导者(leader),负责进行投票的发起和决议,更新系统状态2.学习者(learner),包括跟随者(follower)和观察者(observer),follower用于接受客户端请求并想客户端返回结果,在选主过程中参与投票3.Observer可以接受客户端连接,将写请求转发给leader,但observer不参加投票过程,只同步leader的状态,observer的目的是为了扩展系统,提高读取速度4.客户端(client),请.原创 2021-01-07 14:13:37 · 366 阅读 · 1 评论 -
Zookeeper实现生成分布式订单号
传统方式生成订单号ID业务场景传统项目生成订单id生成订单号方案使用时间戳 使用UUID 推特 (Twitter) 的 Snowflake 算法——用于生成唯一 ID高并发下生成订单方案原创 2021-01-07 10:56:40 · 273 阅读 · 2 评论 -
Zookeeper实现软负载均衡轮询和故障转移
使用Zookeeper实现负载均衡原理思路使用Zookeeper实现负载均衡原理,服务器端将启动的服务注册到,zk注册中心上,采用临时节点。客户端从zk节点上获取最新服务节点信息,本地使用负载均衡算法,随机分配服务器。当其中一台服务宕机后,本地监听节点变化,实现故障转移。创建项目工程Maven依赖 <dependencies> <dependency> <gr...原创 2021-01-06 16:41:21 · 691 阅读 · 5 评论 -
redis常见集群方案
3.0版本之前 3.0版本之前的redis是不支持集群的,我们的redis如果想要集群的话,就需要一个中间件,然后这个中间件负责将我们需要存入redis中的数据的key通过一套算法计算得出一个值。然后根据这个值找到对应的redis节点,将这些数据存在这个redis的节点中。 在取值的时候,同样先将key进行计算,得到对应的值,然后就去找对应的redis节点,从对应的节点中取出对应的值。 这样做有很多不好的地方,比如说我们的这些计算都需要在系统中去进行,所以会增加系统的负担。还有就是...原创 2020-12-31 17:57:03 · 134 阅读 · 0 评论 -
Redis-cluster搭建redis高可用集群
首先简单介绍下 Cluster 模式的集群1.集群对外统一。在使用集群时,只需要关注 Redis 各个节点的 IP 和端口,至于读写节点、主从等无需关注;2.集群内部协调。主从节点在集群部署时已选举完成,除非节点挂掉,会进行重新选举。其次删除相关配置项时,也会重新选举主节点;3.去中心化。本模式不再如哨兵、Codise 等,需要第三方监控。Cluster自行加入选举,完成主节点选举,以及读写访问控制。Redis-cluster原理Redis 是一个开源的 key-value ...原创 2020-12-31 17:40:16 · 665 阅读 · 0 评论 -
高并发限流解决方案(接口限流+nginx限流)
为什么要互联网项目要限流在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、频繁的复杂查询(评论的最后几页),因此需有一种手段来限制这些场景的并发/请求量,即限流。互联网雪崩效应解决方案服务降级: 在高并发的情况, 防止用户一直等...原创 2020-11-25 14:05:22 · 2410 阅读 · 0 评论 -
xxl-job(三)springboot整合xxl-job
xxl-job(一)入门使用+执行器集群xxl-job(二)调度中心挂了怎么办 调度中心集群SpringBoot整合XXLJob创建项目springboot-xxl-job-test项目大概是这样子的Maven依赖信息<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w..原创 2020-12-18 15:59:55 · 502 阅读 · 2 评论 -
xxl-job(二)调度中心挂了怎么办
调度中心挂掉了怎么办接上一节 调度中心下面集群了两个job执行器,如果xxl-job调度中心挂掉了怎么办?调度中心集群调度中心支持集群部署,提升调度系统容灾和可用性。调度中心集群部署时,几点要求和建议:DB配置保持一致; 集群机器时钟保持一致(单机集群忽视); 建议:推荐通过nginx为调度中心集群做负载均衡,分配域名。调度中心访问、执行器回调配置、调用API服务等操作均通过该域名进行。启动两个xxl-jobadmin平台不会同时启动两个的点这里idea一个sprin...原创 2020-12-18 12:33:05 · 1996 阅读 · 0 评论 -
xxl-job分布式任务调度平台(一)入门使用+执行器集群
XXLJOB介绍1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;2、动态:支持动态修改任务状态、暂停/恢复任务,以及终止运行中任务,即时生效;3、调度中心HA(中心式):调度采用中心式设计,“调度中心”基于集群Quartz实现,可保证调度中心HA;4、执行器HA(分布式):任务分布式执行,任务"执行器"支持集群部署,可保证任务执行HA;5、任务Failover:执行器集群部署时,任务路由策略选择"故障转移"情况下调度失败时将会平滑切换执行器进行Failover;原创 2020-12-17 15:55:03 · 2710 阅读 · 1 评论 -
互联网安全架构三(互联网开放平台设计)
互联网开放平台设计1.需求:现在A公司与B公司进行合作,B公司需要调用A公司开放的外网接口获取数据,如何保证外网开放接口的安全性。2.常用解决办法:2.1 使用加签名方式,防止篡改数据2.2 使用Https加密传输2.3 搭建OAuth2.0认证授权2.4 使用令牌方式2.5 搭建网关实现黑名单和白名单实现使用令牌方式搭建搭建API开放平台原理:为每个合作机构创建对应的appid、app_secret,生成对应的access_token(有效期2小时),在调用原创 2020-12-03 15:16:59 · 485 阅读 · 0 评论 -
互联网安全架构二(互联网API接口幂等设计)
API接口幂等性设计方案MVCC方案 多版本并发控制,该策略主要使用 update with condition(更新带条件来防止)来保证多次外部请求调用对系统的影响是一致的。在系统设计的过程中,合理的使用乐观锁,通过 version 或者 updateTime(timestamp)等其他条件,来做乐观锁的判断条件,这样保证更新操作即使在并发的情况下,也不会有太大的问题。例如 select * from tablename where condition=#condition# // 取..原创 2020-12-02 17:10:34 · 249 阅读 · 2 评论 -
互联网安全架构一(常见Web安全漏洞)
XSS攻击什么是XSS攻击手段XSS攻击使用Javascript脚本注入进行攻击例如在提交表单后,展示到另一个页面,可能会受到XSS脚本注入,读取本地cookie远程发送给黑客服务器端。<script>alert('sss')</script><script>window.location.href='http://www.itmayiedu.com';</script>对应html源代码: <script&.原创 2020-11-30 11:13:13 · 876 阅读 · 1 评论 -
高并发与高可用
高并发与高可用大型网站系统应有的特点高并发,大流量高并发,大流量:需要面对高并发用户,大流量访问。举个例子,去往迪拜的飞机有200张票,但是有100w人都挤进系统买票,如何让这100w人能够看到票务的实时更新,以及顺利的买到一张票,都是一个网站架构师应该考虑的问题。这也许对于淘宝的“双十一”1000w的一分钟独立访问用户量来说,是个微不足道的数字,但是对于用户的体验以及网站的口碑来说,都是一项不小的挑战。高可用高可用:相对于高并发来说,高可用并不是一个比较有规律的参数,7*24 是原创 2020-07-09 14:19:58 · 555 阅读 · 0 评论 -
构建 SpringBoot + SSM 框架
一. 创建项目选择 Spring Initiallizr 添加最基本的几个依赖 Web,MySQL,MyBatis,其他需求可以后续再添加 ; 数据库选择了 MySQL 二. 配置数据源数据源中存储了所有建立数据库连接的信息1. 配置 IDEA 数据源输入地址,端口,用户名,密码等等完成设置 2. 配置 spring...转载 2018-07-27 15:32:48 · 323 阅读 · 0 评论 -
互联网后端基础设施
1.1 后端基础设施使用Java后端技术的目的就是构建业务应用,为用户提供在线或者离线服务。因此,一个业务应用需要哪些技术、依赖哪些基础设施就决定了需要掌握的后端技术有哪些。纵观整个互联网技术体系再结合公司的目前状况,笔者认为必不可少或者非常关键的后端基础技术/设施如下图所示:这里的后端基础设施主要指的是应用在线上稳定运行需要依赖的关键组件或者服务。开发或者搭建好以上的后端基础设施,一...转载 2018-07-27 15:18:40 · 367 阅读 · 0 评论