
架构
文章平均质量分 70
扁豆的主人
进无止境,不忘初衷;坚持不懈,乐在其中。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Elasticsearch
Elasticsearch是Java语言开发的分布式的查询系统,它的每一个节点(每一个运行实例)都是一个基于Lucene的查询引擎,把Lucene用Netty封装成服务。3)主数据和查询数据不一致时,这里的查询数据同步到最新数据会有一定的延时,大约为2秒。某些业务场景下用户可能无法接受这个延时,特别是跟钱有关的场景。1)用Elasticsearch存储查询数据时有一定延时,深度分页不能自由跳页,会有丢数据的可能性。2)主数据量越来越大后,写操作慢,当数据量上亿的时候,插入会有问题。原创 2023-07-24 22:02:24 · 543 阅读 · 0 评论 -
微服务架构
微服务漫画原创 2022-06-20 09:38:25 · 1359 阅读 · 1 评论 -
Kafka
概念Kafka是由Linkedin公司开发的分布式的发布订阅消息系统,于2010年贡献给了Apache基金会并成为顶级开源项目。它的特点是,吞吐量高,单机每秒传输100K条消息,即使对TB级以上数据也能保证常数时间的访问性能,时间复杂度为O(1)。 支持持久化,防止数据丢失。 同时支持离线数据处理和实时数据处理。工作原理生产者将消息推送到Broker(Broker是kafk..................原创 2019-10-06 21:57:21 · 194 阅读 · 1 评论 -
架构设计的职责
什么架构设计是指导系统实现的设计蓝图,描绘系统整体结构和组件,系统的模块化设计,以及模块之间的交互方式,也包括流程规范、对外接口、界面风格等方面的设计,同时可能会兼顾到质量与成本方面的考虑。从软件生命周期看架构设计设计期(立项、计划、需求、设计)● 系统拆分,如何把系统拆解为不同的子系统、模块、业务单元;● 技术选型,使用什么样的基础技术框架或脚手架;● 技术难题,确定核心技术难点如何解决,检验能否满足期望指标;● 接口规范,系统内部的不同部分以何种形式确定接口契约和数据通信方式;● 集原创 2022-01-05 19:26:00 · 1123 阅读 · 0 评论 -
数据中台架构
https://www.cnblogs.com/268lwc/articles/12181592.html原创 2021-08-26 18:05:29 · 2538 阅读 · 0 评论 -
缓存穿透、击穿和雪崩
问题 描述 解决方案 一致性 在发生写操作时或之后,可能会存在数据库里面的值和缓存中的值不同的情况 一,在业务场景允许的情况下,把过期时间设置得低一些; 二,先更新数据库再删除缓存。如果删除失败就放进队列。然后另一个任务从队列中取出消息,不断去重试删除相应的key 缓存穿透 缓存和数据库中都没有的数据,而用户不断发起请求,如发起id为-1或特别...原创 2021-07-27 17:27:17 · 153 阅读 · 0 评论 -
关于压力测试
压测的步骤压测目标的制定 压测链路的梳理 压测环境的准备 压测数据的构造 发压测试 瓶颈定位及容量微调 压测总结如果是客户的需求,那需要向客户确认,有清楚的性能指标参数,测试时就是保证系统达到该指标并能良好运转,即压力测试。如果是自己的系统需要有一个评估,那就需要完整的得到该系统的几个临界点,拿到完整的性能曲线,从而来分析部署情况,即为性能测试。不管是哪个,知道了需求,才能制定计划。性能测试的目标是发现重大的系统瓶颈。你可以想象一个系统由一系列的瓶颈组成;发现并改善一个瓶颈往往会在其他原创 2021-05-24 14:44:27 · 381 阅读 · 0 评论 -
消息队列应用场景
应用场景 削峰 引入腾讯云消息中间件 CMQ,将非即时处理的业务逻辑进行异步化。例如服务接收请求、处理请求和返回请求三个不同的业务逻辑。引入 CMQ 后,当预约活动开始时,海量并发访问汹涌袭来:所有客户的预约申请,页面均立即返回成功。客户便可关闭网页进行其他活动。预约码稍后推送到客户的邮箱/手机; 超过千万级别的注册、预约申请,先暂存在腾讯云 CMQ 消息队列集群; 后端服务进行处理,按照数据库实际的 select、insert、update 能力处理注册、预约申请; 处理成功后返回原创 2021-05-18 17:50:55 · 255 阅读 · 0 评论 -
LVS负载均衡
一、LVS简介LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案,其体系结构如图1所示,终端互联网用户从外部访问公司的外部负载均衡服务器,终端用户的Web请求会发送给LVS调度器,调度器根据自己预设的算法决定将该请求发送给后端的某台Web服务器,比如,轮询算法可以将外部的请求平均分发给后端的所有服务器,终端用户访问LVS调...原创 2021-04-30 23:30:54 · 113 阅读 · 1 评论 -
主流负载均衡器之对比
LVS:1、抗负载能力强。抗负载能力强、性能高,能达到F5硬件的60%;对内存和cpu资源消耗比较低2、工作在网络4层,通过vrrp协议转发(仅作分发之用),具体的流量由linux内核处理,因此没有流量的产生2、稳定性、可靠性好,自身有完美的热备方案;(如:LVS+Keepalived)3、应用范围比较广,可以对所有应用做负载均衡4、不支持正则处理,不能做动静分离5、支持负载均衡算法:rr(轮循)、wrr(加权轮循)、lc(最小连接)、wlc(加权最小连接)6、配置较复杂,对网络依赖比较大,稳原创 2021-04-30 20:27:24 · 341 阅读 · 0 评论 -
常见鉴权方式
HTTP Basic Authentication这种授权方式是浏览器遵守http协议实现的基本授权方式,HTTP协议进行通信的过程中,HTTP协议定义了基本认证认证允许HTTP服务器对客户端进行用户身份证的方法。仅仅是base64加密,这种加密方式是可逆的。同时在每个请求的头上都会附带上用户名和密码信息,这样在外网是很容易被嗅探器探测到的。session-cookie利用服务器端的session(会话)和浏览器端的cookie来实现前后端的认证,由于http请求时是无状态的,服务器正常情.原创 2021-04-25 10:47:03 · 523 阅读 · 0 评论 -
限流降级和熔断隔离
概念当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或换种简单的方式处理,从而释放服务器资源以保证核心交易正常运作或高效运作。当整个微服务架构整体的负载超出了预设的上限阈值或即将到来的流量预计将会超过预设的阈值时,为了保证重要或基本的服务能正常运行,我们可以将一些不重要或不紧急的服务或任务进行服务的延迟使用或暂停使用。策略 页面降级—— 可视化界面禁用点击按钮、调整静态页面 延迟服务—— 如定时任务延迟处理、消息入MQ后延迟...原创 2021-03-29 14:01:24 · 1628 阅读 · 0 评论 -
灰度发布的实施
概念灰度发布是一种上线的试错机制,基于一定发布策略,将新版本覆盖线上的部分用户,验证上线效果,对比新旧版本效果,如果新版本的效果符合预期,再考虑全面上线。流程定义目标:确定改进方向和目标,明确新版本发布的预期。 选定策略:明确功能覆盖率,发布频率,回滚策略。 部署系统:布署实现AB用户使用不同的feature :比如web页面灰度:按照ip或者用户id切流啊。具有随机性,可以控制比例 如何友好告知用户我们的新feature以及提供反馈渠道? 如何选择布署时间?避免用户在使用过程中突.原创 2021-03-29 11:29:23 · 172 阅读 · 0 评论 -
高并发之高可用
指标响应时间、吞吐量、并发用户数、QPS方法垂直扩展:提升单机性能,如硬件性能、查询优化、缓存 水平扩展:使系统具有可伸缩性,如DNS轮询、web服务器的负载均衡、数据库表的水平切分、服务连接池 异步处理:是消峰的有效措施,如ajax、消息队列 减少请求次数和请求量...原创 2021-02-25 09:36:16 · 329 阅读 · 1 评论 -
分布式系统的微服务设计
什么是微服务微服务的思想,是将复杂的系统拆分成一个个功能独立的单元,即微服务。微服务可以独立部署、运行、升级。微服务之间可以通过一些轻量级的通信机制进行通信,例如REST API或者RPC。微服务的好处每个微服务可以独立开发,应用不同的开发技术,开发模式更加灵活,有助于实现敏捷开发。单体架构的特点是模块之间的耦合度高,不便于维护,而微服务模块之间相互独立,便于问题的..........................................原创 2019-10-08 00:21:56 · 562 阅读 · 0 评论 -
ELK总结
背景基于SSH方式登陆主机查看日志的方式,出了问题难以快速定位问题,ELK可以提高定位问题的效率,具有以下特点:收集-能够采集多种来源的日志数据 传输-能够稳定的把日志数据传输到中央系统 存储-如何存储日志数据 分析-可以支持 UI 分析 警告-能提供错误报告概念ELK是实时日志存储和检索分析平台,可以对各种日志进行收集、过滤、清洗、存储、并用于实时检索、分析。EL...原创 2019-05-13 14:36:35 · 303 阅读 · 1 评论 -
秒杀的架构设计
客户端拦截点击按钮立即置灰,防止重复请求。 限制几秒中内,只能请求一次。应用层拦截 限制访问频率,对uid进行请求计数和去重。 页面缓存,x秒内到达应用层的请求,均返回同一个页面。 服务层拦截读请求,缓存抗。 写请求,队列抗。...原创 2019-04-05 16:58:54 · 218 阅读 · 0 评论 -
分布式事务
分布式事务 分布式事务就是,在分布式环境下保证数据的完整和一致性。通常的规避策略是补偿事务和后置提交。补偿事务 在业务逻辑中进行事务控制,如果第一个事务成功,则执行第二个事务,如果第二个事务失败,则执行第一个事务的补偿事务。这种方式的弊端是,业务流程复杂,不具备通用性。后置提交 就是在所有事务都执行完后,再逐一提交。此方法虽然不能百分百保证一致性,但因..............................原创 2019-04-03 13:13:39 · 782 阅读 · 0 评论