首页
学习
活动
专区
工具
TVP
发布

架构师之路

专栏成员
464
文章
515403
阅读量
210
订阅数
谁家的加密密钥,写死在代码里?(说的就是你)
系统设计,协议先行。 大部分人不了解协议的设计细节,更多使用已有协议进行应用层设计,例如: (1)使用HTTP,设计 get/post/cookie 参数,以及json包格式; (2)使用dubbo,而不用去深究内部的二进制包头包体细节; 无论如何,了解协议设计的原则,对深入理解系统通信非常有帮助。 一、协议的分层设计 所谓“协议”,是双方共同遵守的规则,例如:离婚协议,停战协议。协议有语法、语义、时序三要素: (1)语法,即数据与控制信息的结构或格式; (2)语义,即需要发出何种控制信息,完成何种动作以
架构师之路
2022-06-29
4950
关于memcache内核,全网最通俗的讲解!(由浅入深,值得收藏)
memcache曾经是互联网分层架构中,使用最多的的KV缓存,如今却几乎被 redis 替代。 画外音:你还在用mc吗,还是redis? 但memcache的内核设计,却值得每一个技术人学习和借鉴。 第一部分:知其然 关于memcache一些基础特性,使用过的小伙伴必须知道: (1)mc的核心职能是KV内存管理,value存储最大为1M,它不支持复杂数据结构(哈希、列表、集合、有序集合等); (2)mc不支持持久化; (3)mc支持key过期; (4)mc持续运行很少会出现内存碎片,速度不会随着服务运行时
架构师之路
2022-06-16
3620
1万行代码,单机50万QPS,今年最值得学习的开源RPC框架!
如果没有统一的RPC框架,各个团队的服务提供方就需要各自实现一套序列化、反序列化、网络框架、连接池、收发线程、超时处理、状态机等“业务之外”的重复技术劳动,造成整体的低效。
架构师之路
2021-11-30
9990
怎样的监控,才真正说明系统有问题?
监控不告警,系统就一定没有问题么?怎样的监控,才真正说明系统有问题?今天和大伙聊聊多维度立体化监控。
架构师之路
2020-12-14
6410
微服务,分层设计与领域驱动设计(DDD)?
当系统越来越复杂的时候,怎么将一个庞大的系统拆分成一个微服务,让后端服务能更好的迭代是一个架构师必须要具备的能力。
架构师之路
2020-09-15
1.3K0
如何设计,容易挨揍的URI???
后端工程师,如何无脑设计一些shi一样的URI,来恶心移动/前端工程师呢? 希望本文能给大家一些启示。 方法一:搞一些不知所谓的名称。 例如: http://api.example.com/68dd0-a9d3-11e0-9f1c 千万不能搞这种可读性强的: http://58.com/bj/ershou/310976 画外音:北京/二手频道/帖子ID
架构师之路
2020-03-23
4800
用户视角的监控,再也不用凌晨起床处理线上告警了
上一篇介绍多维度立体化监控,提到系统需要监控的八个维度: http接口监控 log关键字监控 操作系统,进程,端口 http状态码 服务存活性 接口处理时间 用户层面监控 RPC接口监控 其中1和2两项《通用+可扩展http监控平台/框架》和《通用+可扩展log监控平台/框架》分别进行了细化说明,3到6这四项上一篇《多维度立体化监控,才是真的监控》进行了简要说明,今天和大家聊聊第7项,用户视角的监控。 一、为什么要进行用户视角的监控 什么是用户视角的监控? 把系统内部当作黑盒: 用户怎么访问系统,用户视角
架构师之路
2018-03-02
1.4K0
多维度立体化监控,才是真的监控
前文介绍了通用+可扩展的http监控平台与log监控平台的架构: 《通用+可扩展http监控平台/框架》 《通用+可扩展log监控平台/框架》 结果,评论里各种冷嘲热讽。 监控这个topic本来有很多细节可以聊,既然大伙公司都做得比较完善,后续就不纠细节了,聊聊方向上的思考,架构上的设计。今天和大伙聊聊多维度立体化监控。 一、什么是多维度立体化监控 不同公司或多或少有一些自动化监控手段,除了前文提到的: http接口监控 log关键字监控 还有很多维度的监控: 操作系统,进程,端口 http状态码 服务存活
架构师之路
2018-03-02
2.9K0
“id串行化”到底是怎么实现的?
一、需求缘起 在上一篇文章《消息“时序”与“一致性”为何这么难?》中,介绍了一种为了保证“所有群友展示的群消息时序都是一致的”所使用的“id串行化”的方法:让同一个群gid的所有消息落在同一台服务器上
架构师之路
2018-03-02
1.1K0
90行代码,搞定日志监控框架
上一篇《100行代码,搞定http监控框架》介绍了通用+可扩展的http监控平台的架构: 监控平台层:调度监控项,通过后台管理监控项 信息管理层:通过服务和后台维护集群,告警接收人,告警策略等信息 告警发送层:通过接口发送邮件,短信,微信等消息 创业型公司,如果没有上述完善的基础设施,可以简化为一个通用+可扩展的http监控框架: 调度器:100行的伪代码,简述了调度器的原理 可扩展配置:通过配置文件来维护监控项、集群、告警人信息,同时保持扩展性 不少同学留言问,这个框架日志监控覆盖不了,RPC接口监控覆盖
架构师之路
2018-03-02
2.9K0
session一致性架构设计实践
一、缘起 什么是session? 服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文。 Web开发中,web-server可以自动为同一个浏览器的访问用户自动创建s
架构师之路
2018-03-01
1.4K0
应用层/安全层/传输层如何进行协议选型?
系统设计,协议先行。 大部分技术人没有接触协议的设计细节,更多的是使用已有协议进行应用层的编码,例如: (1)使用http作为载体,设计get/post/cookie参数 (2)使用dubbo框架,而不用去深究内部的二进制包头包体,以及序列号反序列化的细节 无论如何,了解协议设计的原则,对深入理解系统通信非常有帮助。今天就以即时通讯(后称im)为例,讲讲应用层的协议选型。 一、im协议的分层设计 所谓“协议”是双方共同遵守的规则,例如:离婚协议,停战协议。协议有语法、语义、时序三要素。 (1)语法:即数据与
架构师之路
2018-03-01
1.4K0
http如何像tcp一样实时的收消息?
http如何像tcp一样实时的收消息? 一、webim如何实现消息推送 webim通常有三种方式实现推送通道: 1)WebSocket 2)FlashSocket 3)http轮询 其中1)和2)是用Tcp长连接实现的,其消息的实时性可以通过tcp保证。 方案3)才算是webim实现消息推送的“正统”方案,用http短连接轮询的方式实现“伪长连接”,既然是轮询,有朋友就对消息的实时性产生了质疑。本文要解答,webim使用http长轮询如何保证消息的绝对实时性。 二、人们为什么会误解http长轮询不实时 什么
架构师之路
2018-03-01
1.2K0
龙神教你“如何做系统性能优化”
性能优化的目标是什么?不外乎两个: 时间性能:减小系统执行的时间 空间性能:减小系统占用的空间 一、代码优化 做代码优化前,先了解下硬件Cache: (1)Cache Level:通常来说L1、L2的Cache集成在CPU里,L3的Cache放在CPU外; (2)Cache Size:它决定你能把多少东西放到Cache里,有Size就有竞争,就有替换,才有所谓优化的空间; (3)Cache Type:I-Cache(指令),D-Cache(数据),TLB(MMU的Cache); 代码层次的优化主要从以下两
架构师之路
2018-03-01
9490
无线APP日志上报优化实践
昨天,和大家讨论了无线APP时代如何进行DNS速度优化,今天和大家一起讨论一下无线时代的日志上报流量优化。 缘起:无线时代,APP流量敏感,为了统计APP内用户行为,或者需要收集某些产品数据,往往需要进行日志上报,日志上报往往又非常费流量,有没有一些好的节省流量的优化方法呢,这是本文将要讨论的问题。 ---- 一、APP可不可以不进行日志上报,而单纯从服务器日志统计用户的行为和产品数据? 答:不行,有些用户行为是不会与服务器进行交互的(例如TAB的点击),从服务器日志无法完成所有统计。 ---- 二、A
架构师之路
2018-03-01
1.5K0
webim如何用轮询保证消息绝对实时
webim如何使用http长轮询保证消息的绝对实时性 一、webim如何实现消息推送 webim通常有三种方式实现推送通道: 1)WebSocket 2)FlashSocket 3)http轮询 其中1)和2)是用Tcp长连接实现的,其消息的实时性很好理解,但这两种方案都存在一些局限性,不通用。 方案3)才算是webim实现消息推送的“正统”方案,用http短连接轮询的方式实现“伪长连接”,既然是轮询,有朋友就对消息的实时性产生了质疑。本文要解答,webim使用http长轮询如何保证消息的绝对实时性。 二、
架构师之路
2018-03-01
1.7K1
im协议设计选型(上)
im协议设计选型(上) 周末在一个Qcon群里分享了一些im技术,抽取出其中im协议选型相关的内容,跟大家分享。 分享人:58沈剑,58同城技术委员会主席,高级架构师,优秀讲师。前百度hi团队成员,负责过58同城im系统的架构设计。 一、im协议的分层设计 所谓“协议”是双方共同遵守的规则,例如:离婚协议,停战协议。协议有语法、语义、时序三要素。 (1)语法:即数据与控制信息的结构或格式 (2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应 (3)时序:即事件实现顺序的详细说明 今天的重点是在“
架构师之路
2018-03-01
1.2K0
58龙哥教你“如何做系统性能优化”(纯干货)
如何做系统性能优化 性能优化的目标是什么?不外乎两个: 时间性能:减小系统执行的时间 空间性能:减小系统占用的空间 一、代码优化 做代码优化前,先了解下硬件Cache: (1)Cache Level:通常来说L1、L2的Cache集成在CPU里,L3的Cache放在CPU外; (2)Cache Size:它决定你能把多少东西放到Cache里,有Size就有竞争,就有替换,才有所谓优化的空间; (3)Cache Type:I-Cache(指令),D-Cache(数据),TLB(MMU的Cache); 代码层次
架构师之路
2018-02-28
1.3K0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档