LaneBlog

LaneBlog

每一个没有起舞的日子都是在辜负生命。

最新文章

架构系列-可扩展架构模式

基本思想:拆。扩展方式:分层架构、微服务架构、微内核架构等。

一、基本思想和模式 基本思想:拆。按流程、按服务、按功能。按流程拆难理解,固化的内核,移动的数据,如接口层 - 业务层 - 数据层 - 存储层。 扩展方式:拆了以后修改和扩展不影响其他模块。按流程拆有...

架构系列-架构模式

业界厂商虽然服务器架构方案有所差异,但不会跳出本文所列的范围。这是业内常见的架构模板和架构模式。

一、架构模版:存储 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推荐接口抖动。在晚高峰时我们的feed推荐接口P90响应时间抖动厉害,本文主要是讲讲我在优化过程中的思路和做了那些事情。

先上图 明显可以看到,抖动已经完全消除。这个接口每天有2000万次请求,粗算QPS = 20000000次 / 40000秒 = 500。 一、feed推荐接口中包含哪些内容 根据唱吧的业务需求,fe...

mp4转gif,gif动画做封面

使用ffmpeg提取MP4的内容生成GIF动画,来作为视频的封面文件。

一个很常见的业务场景,我们有很多的MP4视频文件,在列表页中,是需要展示一个图片作为封面。在此之前,我们的封面图片都是jpg。然鹅,某天产品汪心血来潮,想要把gif动画来作为封面,那么问题就来了,如何...

关于golang随机数的一个好玩的事情

golang随机数有一个很好玩的地方,如果我们不自行定义随机数种子的话,每次的随机数都是一样的。

golang随机数有一个很好玩的地方,如果我们不自行定义随机数种子的话,每次的随机数都是一样的。 比如我们for循环,取8个随机数,每次运行结果是一模一样的。代码如下: [code] package...

Nginx系列三:Web缓存

本文是Nginx系列三之Web缓存。Web缓存,顾名思义,是一种缓存服务。如今,Nginx也开始支持Web缓存服务。本文将分享如何配置Nginx的缓存,使Nginx具有Web缓存服务。

一、 Web 缓存是什么 Web 缓存,顾名思义,是一种缓存服务,当用户第一次访问一个 URL 的时候, Web 缓存服务器会发送请求给后端服务器,获取数据,然后 Web 缓存服务器将数据保存起来,再...