8 朱力

阿里巴巴 - 高级软件工程师

我要认证

自娱自乐的代码人!GIT:https://github.com/zhuli

等级
TA的排名 1k+

转载和积累系列 - L4负载均衡的设计与实现

目录简介一、LVS的局限性1. 数据包转发性能问题2.HA-主备结构的浪费3.转发模式的优缺点二、google maglev负载均衡Maglev Consistent HashGoogle下一步是什么?三、facebook katran第一代 L4LB四、设计高性能负载均衡附录:简介负载均衡分为L4负载均衡(例如LVS)、L7负载均衡(例如nginx),L4负载均衡工作在传输层其主要功能就是转发, 本文讲述的负载均衡为L4。传统上通过采购硬件的..

2020-08-11 09:39:27

业务知识 - 互联网行业研究

目录2020年上半年中国移动互联网行业分析笔记2020年上半年中国移动互联网行业分析笔记文章来源:https://mp.weixin.qq.com/s/euDHU8N62-Ii-xTINwepZw新冠疫情下的移动互联网状态:工作学习远程化:线上办公变为现实,钉钉同比大涨268%,DAU 5KW 社会管理数字化:防疫地图、健康码 生活消费便捷化:消费品6月网上占比29% 休闲娱乐线上化:综合视频、短视频、直播、游戏2020上半年关键数据:快递网络乡镇覆盖率98.5% 社会消费

2020-07-31 16:33:13

业务知识 - 《抖音电商》阅读笔记

第一章:抖音成为电商流量新宠从电商到微商,再到抖商:电商:通过长期消费类积累信用(淘宝、天猫) 微商:依靠社交关系信任来消费(微商直销、社群运营) 抖商:传播和销售一体化抖商竞争力五点:粉丝接受度高。非直接硬广,通过精美饰品+音乐+情节,让商家产品直观明显 用户更加精准。算法推送,目标用户群体精准 触达更多用户。抖音是去中心化的,内容好就能上热门,覆盖更多用户 抖音平台流量。MAU5亿,一二三线年轻人群。 门槛低。抖音快速成长的原因:快跑的开发迭代模式。前期注重工具属性,有利

2020-07-31 14:50:01

转载和积累系列 - 为什么 HashMap 加载因子是0.75?而不是0.8,0.6?

有很多东西之前在学的时候没怎么注意,笔者也是在重温HashMap的时候发现有很多可以去细究的问题,最终是会回归于数学的,如HashMap的加载因子为什么是0.75?本文主要对以下内容进行介绍: 为什么HashMap需要加载因子? 解决冲突有什么方法? 为什么加载因子一定是0.75?而不是0.8,0.6? 为什么HashMap需要加载因子?HashMap的底层是哈希表,是存储键值对的结构类型,它需要通过一定的计算才可以确定数据在哈希表中的存储位置:static fi

2020-07-22 09:57:52

业务知识 - 结构化思维

"结构化思维”对于技术人员 Coding 能力的升级至关重要,是一线互联网大厂升级为高工及技术专家的关键之一。“结构化思维”对于应对网上甚嚣尘上的“35 岁中年危机”也是关键。表达要有逻辑表达要有逻辑,如公众演讲,转正答辩,晋升评审,严密的逻辑有时可以折服石榴裙等。四种组织思维的逻辑顺序: 演绎(因果)顺序:“大前提、小前提、结论”的演绎推理方式就是演绎顺序。比如,经典三段论:所有人都要死,苏格拉底是人,苏格拉底要死 时间(步骤)顺序:“第一、第二、第三”,“首先、然后、再者”等

2020-06-05 10:20:51

转载和积累系列 - 秒杀系统设计思路

目录前言一:秒杀应该考虑哪些问题1.1:超卖问题1.2:高并发1.3:接口防刷1.4:秒杀url1.5:数据库设计1.6:大量请求问题二:秒杀系统的设计和技术方案2.1:秒杀系统数据库设计2.2:秒杀url的设计2.3:秒杀页面静态化2.4:单体redis升级为集群redis2.5:使用nginx2.6:精简sql2.7:redis预减库存2.8:接口限流2.9:令牌桶算法限流2.10:异步下单2.11:服务降级三:总结

2020-06-05 09:45:24

转载和积累系列 - 分库分表的细节讲解

目录数据库瓶颈分库分表水平分库水平分表垂直分库垂直分表分库分表工具分库分表带来的问题事务一致性问题跨节点关联查询 Join 问题跨节点分页、排序、函数问题全局主键避重问题数据迁移、扩容问题什么时候考虑分库分表能不分就不分数据量过大,正常运维影响业务访问随着业务发展,需要对某些字段垂直拆分数据量快速增长数据库瓶颈不管是 IO 瓶颈还是 CPU 瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载的活跃连接数的阈值

2020-06-03 17:34:17

转载和积累系列 - 缓存穿透、缓存并发、热点缓存之最佳招式

目录一、缓存常见问题缓存穿透缓存并发缓存失效问题汇总二、缓存穿透与并发方案三、热点缓存解决方案一、缓存常见问题我们在用缓存的时候,不管是Redis或者Memcached,基本上会通用遇到以下三个问题: 缓存穿透 缓存并发 缓存失效 缓存穿透注:上面三个图会有什么问题呢?我们在项目中使用缓存通常都是先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回。这个时候如果我们查询的某一

2020-06-03 14:28:51

转载和积累系列 - 如何设计一个安全的对外接口

目录前言安全措施如何实现1.数据加密2.数据加签3.时间戳机制4.AppId机制5.限流机制6.黑名单机制7.数据合法性校验前言最近有个项目需要对外提供一个接口,提供公网域名进行访问,而且接口和交易订单有关,所以安全性很重要;这里整理了一下常用的一些安全措施以及具体如何去实现。安全措施个人觉得安全措施大体来看主要在两个方面: 一方面就是如何保证数据在传输过程中的安全性; 另一个方面是数据已经到达服务器端,服务器端如何识别数据,如何不被攻

2020-06-03 10:16:29

转载和积累系列 - HTTPS原理和HTTP缓存机制

HTTPS原理HTTPS随着 HTTPS 建站的成本下降,现在大部分的网站都已经开始用上 HTTPS 协议。大家都知道 HTTPS 比 HTTP 安全,也听说过与 HTTPS 协议相关的概念有 SSL 、非对称加密、 CA证书等,但对于以下灵魂三拷问可能就答不上了:1.为什么用了 HTTPS 就是安全的?2.HTTPS 的底层原理如何实现?3.用了 HTTPS 就一定安全吗?本文将层层深入,从原理上把 HTTPS 的安全性讲透。HTTPS 的实现原理大家可能都听说过 HTTPS 协议

2020-06-03 09:52:33

转载和积累系列 - 微服务(Microservices)和服务网格(Service Mesh)

目录微服务(Microservices)服务网格(Service Mesh)微服务(Microservices)在过去的 2016 年和 2017 年,微服务技术迅猛普及,和容器技术一起成为这两年中最吸引眼球的技术热点。而以 Spring Cloud 为代表的传统侵入式开发框架,占据着微服务市场的主流地位。微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务

2020-06-02 16:15:09

转载和积累系列 - Faas,又一个未来?

目录前言一、什么是Faas二、Kubernetes 与 FaaS三、后记前言云计算时代出现了大量XaaS形式的概念,从IaaS、PaaS、SaaS到容器云引领的CaaS,再到火热的微服务架构,以及现在越来越多被谈起的Serverless和FaaS,我们正在经历?一个技术飞速变革的时代。一、什么是Faas云计算时代出现了大量XaaS形式的概念,从IaaS(Infrastructure as a Service)、PaaS(Platform as a Service)、SaaS(

2020-06-02 15:50:28

转载与积累系列 - Docker 核心技术与实现原理

目录Namespaces进程网络Libnetwork挂载点ChrootCGroupsUnionFS存储驱动AUFS其他存储驱动总结提到虚拟化技术,我们首先想到的一定是 Docker,经过四年的快速发展 Docker 已经成为了很多公司的标配,也不再是一个只能在开发阶段使用的玩具了。作为在生产环境中广泛应用的产品,Docker 有着非常成熟的社区以及大量的使用者,代码库中的内容也变得非常庞大。同样,由于项目的发展、功能的拆分以及各种奇怪的改名 PR,

2020-06-01 18:09:38

转载和积累系列 - 三种常见的限流算法

介绍一般做接口限流主要是为了应对突发流量,避免突发流量拖垮服务。如下面一些场景就有可能发生突发流量 微博热搜 恶意刷单 恶意爬虫 促销活动 接口限流的算法有如下几种计数器算法这是最容易理解和实现的算法,假设一个接口1s中最多请求100次。最开始设置一个计数器count=0,来一个请求count+1,1s之内count<=100的请求可以正常访问,count>100的请求则被拒绝,1s之后count被重置为0,重新开始计数当然这种方式有个弊端

2020-05-15 11:57:43

业务知识 - 人群圈层汇总

小镇青年定义 三线、四线及以下城市的90后群体 人群 移动互联网人群渗透:2.12亿 场景 社交、网络K歌、游戏、短视频和照相图片 渗透率高 喜欢类型 小镇青年更喜欢直接、放松的视频类、游戏类等Kill time型休闲娱乐方式 手机情况 终端价格在2000元以上的超六成 ...

2019-07-09 16:26:19

业务知识 - 互联网产品研究

1. 哔哩哔哩 B站MAU 1.2亿,次留40% 关键词 二次元、御宅族、弹幕、直播、游戏、视频搬运者、UGC、ACG 核心功能 ACG:(动画、漫画、游戏)、直播、影视 用户核心抓手 弹幕互动(参与感、认同感、归属感) 功能链接 综合性弹幕视频网站 面向人群 二次元用户、御宅族(9...

2019-07-08 15:12:13

Lua源码分析 - 实战篇 - 编写Lua的扩展库(20)

Lua的扩展库编写有三种方式:注册方式:在主体语言里面编写扩展函数,然后通过lua_register方式,注册到Lua全局注册表中 动态调用:编写独立的扩展函数文件,编译成.so动态库文件,然后在lua中动态调用 扩展库编写:按照Lua语言本身的扩展库设计方式进行编写如果忘记了扩展库的实现,可以回顾一下下面两篇文章:《Lua源码分析 - 扩展库篇 - 扩展库Require的实现(12...

2020-04-10 19:44:22

Lua源码分析 - 实战篇 - Lua的API使用(19)

目录实战篇 - Lua的安装和Makefile实战篇 - Lua的API使用实战篇 - C语言中实现动态调用Lua实战篇 - Lua的安装和Makefile前面18章,我们详细的介绍了整个Lua语言的架构和实现原理。Lua是一门C语言编写的脚本语言,非常的轻巧,大部分情况下Lua的使用场景是作为宿主语言存在。web脚本、游戏脚本、物联网等场景。通俗点讲,你可以将Lua...

2020-04-10 17:23:14

Lua源码分析 - 虚拟机篇 - 语义解析之Opcode执行(18)

目录虚拟机篇 - 指令执行函数luaV_execute虚拟机篇 - 一个变量赋值操作看实现虚拟机篇 - 指令执行函数luaV_execute在《Lua源码分析 - 主流程篇 - 函数调用栈的实现(08)》我们看到了整个Lua脚本语言的执行主流程。Lua脚本主流程:通过文件解析->解析成语法Token->编译成二进制操作码->执行二进制操作码上一章节我们讲解...

2020-04-09 16:41:46

Lua源码分析 - 虚拟机篇 - 语义解析之Opcode生成(17)

上一篇我们讲解了语义的解析编译过程。我们基本知道了Lua的代码是一遍解析文件,一遍编译成字节码指令的。这一节,我们主要讲一下lcode.c文件,Opcode是如何生成的。虚拟机篇 - 指令集存储数据结构Proto上一篇,我们有讲到Proto是主要用来存储指令集的。指令集存放:解析完毕的指令集,都会放置到Proto->code[n]上,code是一个数组形式存储。FuncState...

2020-04-02 17:57:26

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。