架构系列-可扩展架构模式
基本思想:拆。扩展方式:分层架构、微服务架构、微内核架构等。
一、基本思想和模式 基本思想:拆。按流程、按服务、按功能。按流程拆难理解,固化的内核,移动的数据,如接口层 - 业务层 - 数据层 - 存储层。 扩展方式:拆了以后修改和扩展不影响其他模块。按流程拆有...
每一个没有起舞的日子都是在辜负生命。
基本思想:拆。扩展方式:分层架构、微服务架构、微内核架构等。
一、基本思想和模式 基本思想:拆。按流程、按服务、按功能。按流程拆难理解,固化的内核,移动的数据,如接口层 - 业务层 - 数据层 - 存储层。 扩展方式:拆了以后修改和扩展不影响其他模块。按流程拆有...
业界厂商虽然服务器架构方案有所差异,但不会跳出本文所列的范围。这是业内常见的架构模板和架构模式。
一、架构模版:存储 SQL:最终都会分库分表,避免各业务重复造轮子,会出现独立的中间件,如淘宝TDDL、百度BDProxy,开源方案有Mysql的Mysql route和360的Atlas。当业务继续...
服务器高可用架构,高可用架构是什么?为什么要做高可用架构?高可用架构能解决什么问题?理论、集群和分区、异地多活等方法构成高可用架构
一、CAP理论 准确的定义是:在一个分布式系统中(互相连接并共享数据的节点的集合)中,涉及到读写操作时,只能保证一致性C(客户端读保证得到最新的写结果)、可用性A(返回noerror notimeou...
服务器高性能架构,高性能架构是什么?为什么要做高性能架构?高性能架构能解决什么问题?常用手段有负载均衡、数据库高性能、缓存、NOSQL等
一、数据库集群:读写分离 二、数据库集群:分库分表 三、NoSQL = not only sql 四、缓存 1、用户请求发现缓存不存在则自行查库并生成缓存。并发下可能会同时很多请求同时生成,造成雪崩。...
服务器架构,架构是什么?为什么要做架构?架构能解决什么问题?架构的复杂度来源有哪些?架构设计的原则是什么?
一、概述 1、 架构是顶层设计;框架是面向编程或配置的半成品;组件是从技术维度上的复用;模块是从业务维度上职责的划分;系统是相互协同可运行的实体。 2、 架构是为了应对软件系统复杂度而提出的一个解决方...
优化feed推荐接口,降低feed推荐接口响应时间,减少feed推荐接口抖动。在晚高峰时我们的feed推荐接口P90响应时间抖动厉害,本文主要是讲讲我在优化过程中的思路和做了那些事情。
先上图 明显可以看到,抖动已经完全消除。这个接口每天有2000万次请求,粗算QPS = 20000000次 / 40000秒 = 500。 一、feed推荐接口中包含哪些内容 根据唱吧的业务需求,fe...
使用ffmpeg提取MP4的内容生成GIF动画,来作为视频的封面文件。
一个很常见的业务场景,我们有很多的MP4视频文件,在列表页中,是需要展示一个图片作为封面。在此之前,我们的封面图片都是jpg。然鹅,某天产品汪心血来潮,想要把gif动画来作为封面,那么问题就来了,如何...
Golang的Switch与Select多个Case的逻辑和其他语言不同。一不留神就是个坑。
Golang的Switch与Select的逻辑,和其他语言不同。一不留神就是个坑。 多个Case中时,第一个case总是被抛弃的,同时也不会进到default里面。 如下的例子: [code] a :...
golang随机数有一个很好玩的地方,如果我们不自行定义随机数种子的话,每次的随机数都是一样的。
golang随机数有一个很好玩的地方,如果我们不自行定义随机数种子的话,每次的随机数都是一样的。 比如我们for循环,取8个随机数,每次运行结果是一模一样的。代码如下: [code] package...
本文是Nginx系列三之Web缓存。Web缓存,顾名思义,是一种缓存服务。如今,Nginx也开始支持Web缓存服务。本文将分享如何配置Nginx的缓存,使Nginx具有Web缓存服务。
一、 Web 缓存是什么 Web 缓存,顾名思义,是一种缓存服务,当用户第一次访问一个 URL 的时候, Web 缓存服务器会发送请求给后端服务器,获取数据,然后 Web 缓存服务器将数据保存起来,再...