框架
文章平均质量分 87
jeff-y
所有文章用于个人记录,仅供参考,有错误的地方还请指出错误。
展开
-
分布式系统架构-----异地多活架构
分布式系统架构-----异地多活架构背景最近公司在搞异地多活,特来写篇文章来学习和回顾一下。异地多活看字面意思 :不通的地方部署服务。前段时间发生的B站挂掉的事情,网上众说纷纭,有的说是有机房着火了,导致服务宕机。那对于这种突发的情况,我们应该如何应对呢?包括说有些地方地震了导致机房宕机等等。这些自然灾害我们是不可避免的所以我们得从架构层面解决这种突发问题。异地多活架构1. 什么是异地多活架构?异地:不同的地理位置,多活:不同的地理位置的服务都能独立提供服务。异地多活的目的也就是容灾,容灾原创 2022-04-05 19:16:27 · 5992 阅读 · 0 评论 -
分布式系统-----BASE理论
分布式系统-----BASE理论CAP理论是分布式系统的基石, 那么base理论就是分布式系统的台阶了,在基石上凿的台阶。BASE 是指基本可用(Basically Available)、软状态( Soft State)、最终一致性( Eventual Consistency),核心思想是即使无法做到强一致性(CAP 的一致性就是强一致性),但应用可以采用适合的方式达到最终一致性。BASE理论基本观点1. 基本可用(Basically Available)分布式系统,在出现故障的时候,允许损失部分原创 2022-04-04 23:54:58 · 1235 阅读 · 0 评论 -
Redis集群架构----主从复制
上次我们看了CAP定理,以及CP,AP架构的原则,这篇文章主要聊下redis的几种集群架构方式。以及对应的架构原则。主从理解对于任何一个服务我们都在讲高可用,如果对于一个单机服务如果挂掉了那岂不是就GG了。那我们为了让服务available那就进行多起几个服务进行数据冗余,达到挂掉一个还有一个顶着。但是在保存的数据的时候会有很多的麻烦事,写数据的一致性问题,当给每台机器都进行写数据的时候且各个节点之间的数据是互相同步的,这个时候就遇到了并发安全问题,通过各种加锁同步操作会对整个服务的性能严重下降,这也就原创 2022-03-13 18:34:23 · 4617 阅读 · 0 评论 -
深入浅出CAP定理
架构原创 2022-03-13 13:16:21 · 811 阅读 · 0 评论 -
从零开始学架构-day05
从零开始学架构-day06高性能缓存架构当服务使用关系型数据库已经达到性能瓶颈的时候我们应该怎么办,数据库已经分片了,也分库分表了,索引什么也都极致了(一般不可能)但是还是扛不住高流量。有点经验的同学都会说:“加缓存,上redis or 直接应用内存(缓存)“。什么时候用高性能缓存架构?需要经过复杂运算后得出的数据,存储系统无能为力当我们是一个用户中心的系统,需求是提供在线用户的人数,那我们肯定不能去select count(*) 数据库去统计吧,一般读多写少的数据,存储系统有心无力原创 2021-06-14 17:25:41 · 1211 阅读 · 3 评论 -
从零开始学架构-day04
不得不说我是三天打渔两天晒网,烂泥巴糊不上墙。烂泥巴开始打渔。上节跟着大佬学习了,架构的复杂度来源,现在回顾下,确实想不起来了。重新开一遍。回顾影响架构复杂度的几大因素,追求高性能,高可用,高拓展既然已经知道了复杂度的来源于这些方面,那我们有什么原则可以直接将这些复杂度化难为简呢? 那这这节课,我们就看下架构的三大原则:合适原则,简单原则,演化原则。架构的三大原则合适原则合适原则,合适的意思就是合适呗,选择一个中间件,或者一些框架,或者物理机等,都得合适我们所要设计的系统。还有就是合适原则原创 2021-05-03 22:06:38 · 2292 阅读 · 6 评论 -
从零开始学架构-day03
架构设计的目的之一是为了解决项目的复杂度。复杂度的来源,追求高性能,高可用,并且拓展。先从高性能来看。1. 高性能1.什么是高性能?我们平时开发的时候曾经无数次有提到过追求高性能,那么到底什么是高性能,能抗很高的QPS和TPS,能有很快的响应时间等等。而我们所做的架构,是基于原始计算机的硬件设施达到最大的支撑能力,通俗的讲,就是将计算机充分利用,如CPU,内存等。别人设计的架构一台计算几能抗1WQPS,而我们设计的架构的软件再计算机上跑能抗2W QPS (相同的业务需求,相同的计算机)这就是牛逼。原创 2021-04-19 23:01:52 · 1837 阅读 · 9 评论 -
从零开始学架构-day02
回顾在上一节篇中主要是学习了架构和框架的的区别,包含系统和子系统的概念,以及在不同的维度去区分一个系统的架构是个什么样子。今天我们开看一下架构这个概念是为什么出现,为什么我们每开发一个系统都要进行架构设计。1. 架构的发展历史一切事物都有自己产生的原因,那么架构的出现是为什么呢?也许你有听说过因为一行代码导致了火箭发布失败,也许你也听说第一次软件危机和第二次软件和面向对象的开发和面向对象语言的产生。包含《人月神话》这本书出现。还有就是我们的语言从 机器语言-> 汇编语言-> 高级原创 2021-04-13 22:56:43 · 311 阅读 · 4 评论 -
从零开始学架构-day01
架构是什么?1. 架构和框架是什么关系?有什么区别?1.1 系统与子系统泛指一群有关联的个体组成的,根据某种规则运作,能完成单个组件不能单独完成的工作的群体。他的意思是总体,整体,或联盟。其中重点概念就是:关联,一群有关联的个体规则,通过某种规则进行分工,和工作能力,系统成员都有自己的能力通过系统的概念是不是也能联想到我们现实的team,我们也可以比作一个系统(但是也有可能不是,因为有些人各自为政,不按套路,没有规矩出牌)。那我们再关注一下现实中真实的系统,linux操作系统,微信原创 2021-04-12 23:35:33 · 2998 阅读 · 6 评论 -
Spring boot 集成apollo达到配置的热加载
背景我们的系统集成了携程的配置中心Apollo 让我们在开发和迭代中得到了很大的方便。尤其是配置的热加载。让我们避免了多次生产发布的情况。他拥有可视化的配置界面(以Key-value的形势)。这篇文章的主要目的是看apollo是如何实现热更新的使用接入apollopom文件中引入meven依赖<dependency> <groupId>com.ctrip.framework.apollo</groupId>原创 2020-06-11 00:34:29 · 3181 阅读 · 0 评论 -
ApplicationContext 和beanFactory 和 factoryBean的区别以及联系
背景最近有看一些面试题,很多框架都有提到三者的关系和区别。所以今天打算看一下。简单描述beafactory是Spring IOC中的基础容器,用来解析BeanDefination存放bean的容器,还会对外提供一些操作bean的接口,AplicationContext是BeanFactory的扩展容器,基于BeanFactory 将其和其他组件整合到了一起。而factoryBean是以bean结尾的我们就可以知道它是以bean结尾的,所以我们可以认为他是一个特殊的bean,可以用来生产bean的一个b原创 2020-06-10 01:33:37 · 1322 阅读 · 0 评论 -
RPC 和 REST还有RESTFul到底是个什么玩意?
背景公司两位同事,讨论对外提供接口的时候返回的状态码应该是怎样的,A同事,业务逻辑有问题,请求成功且OK,状态码就应该返回2XX,另一个同事说应该返回5XX,原因是通过网关来监控服务的调用和处理情况。听了个大概,然后说到了RPC和RESTful,所以我得看看一 什么是RPC?wiki百科:在分布式计算,远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是...原创 2020-05-02 01:03:59 · 685 阅读 · 0 评论