![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
架构师
文章平均质量分 94
攻城狮百里
学无止境
展开
-
什么是分布式和微服务架构
1. 微服务的诞生微服务是基于分而治之的思想演化出来的。过去传统的一个大型而又全面的系统,随着互联网的发展已经很难满足市场对技术的需求,于是我们从单独架构发展到分布式架构,又从分布式架构发展到 SOA 架构,服务不断的被拆分和分解,粒度也越来越小,直到微服务架构的诞生。微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和服务间采用轻量级的通信机制互相沟通(通常是基于 HTTP 的 RESTful API)原创 2021-03-20 16:53:32 · 365 阅读 · 0 评论 -
Redis亿级数据过滤和布隆过滤器
Redis详解—rehash、布隆过滤器、redis持久化如上图所示,布隆过滤器(Bloom Filter) 就是这样一种专门用来解决去重问题的高级数据结构。但是跟 HyperLogLog 一样,它也一样有那么一点点不精确,也存在一定的误判概率,但它能在解决去重的同时,在 空间上能节省 90% 以上,也是非常值得的。布隆过滤器是什么布隆过滤器(Bloom Filter) 是 1970 年由布隆提出的。它 实际上 是一个很长的二进制向量和一系列随机映射函数 (下面详细说),实际上你也可以把它 简单理解原创 2021-03-19 20:58:27 · 631 阅读 · 0 评论 -
Linux服务器开发/架构师必掌握的核心技能点!
想必大家都知道从事后台开发首先就是要选择一种语言,今天跟大家分享是用C/C++ 做的后台开发。所以想从事这方面的朋友得有C/C++的基础。首先跟大家说的是从学习步骤:(Linux入门到精通篇)一、Linux开发环境1.了解Linux环境搭建,了解LinuxC编程2.了解Linux安装,命令使用,shell编程3.shell脚本实现检测局域网内哪些ip地址机器宕机二、Linux C编程1.Linux C编程 统计文件单词数量包括:文件操作、文件指针2.Linux C编程 实现通讯录包括:结转载 2021-03-18 15:28:57 · 596 阅读 · 0 评论 -
如何设计可靠性UDP传输协议?
既然已经有TCP了,为什么还需要UDP可靠?个人推荐视频:如何设计可靠性UDP传输协议?TCP是强制的可靠性传输,其在IP协议的基础上,发送端对所有的数据进行定时重传,接受端对所有的数据进行排序,以此(当然还有很多其他的机制)来实现发送端是什么样子的,接受端就能接受到什么样子的数据。但是现实中有一些场景,我们并不需要如此固执的可靠性。对于FPS游戏这种时效性要求非常高的游戏中,玩家最关心的是自己的射击结果和角色的存活与否,当有一个手雷扔过来时,对于被炸死的玩家而言,这颗手雷是必须要接收到的消息,而其转载 2021-03-13 14:48:25 · 1109 阅读 · 0 评论 -
Redis中的数据结构与常用命令
相关视频:大厂redis面试,你能get到几个点对于Redis的介绍这里只写一句:Redis是一种基于内存的高性能非关系型数据库,它以kye-value的形式来存储数据。核心对象Redis五种数据结构对应的编码方式编码指的是五种数据类型在Redis内部的存储方式,一种数据类型可对应多个编码方式。5种数据类型Redis中包含5种数据类型:STRING、LIST、SET、HASH、ZSET。Redis中的5中数据结构(截图出自《Redis in Action》):Redis以key-val原创 2021-03-01 17:33:28 · 239 阅读 · 0 评论 -
HTTPS 原理解析
前言在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。SSL目前的版本是3.0,被IETF(Internet Engineering Task Force)定义在RFC 6101中,之后IETF对SSL 3.0进原创 2021-02-23 20:19:23 · 284 阅读 · 0 评论 -
DPDK解析
一、网络IO的处境和趋势从我们用户的使用就可以感受到网速一直在提升,而网络技术的发展也从1GE/10GE/25GE/40GE/100GE的演变,从中可以得出单机的网络IO能力必须跟上时代的发展。传统的电信领域IP层及以下,例如路由器、交换机、防火墙、基站等设备都是采用硬件解决方案。基于专用网络处理器(NP),有基于FPGA,更有基于ASIC的。但是基于硬件的劣势非常明显,发生Bug不易修复,不易调试维护,并且网络技术一直在发展,例如2G/3G/4G/5G等移动技术的革新,这些属于业务的逻辑基于硬件实原创 2021-02-05 21:58:44 · 1014 阅读 · 0 评论 -
C/C++后台开发需要点亮哪些技能树||(鹅厂为例)
前言首先一般公司分为前端和后端,前端就是和用户打交道的,负责用良好的视觉效果将数据呈现给用户,广义的前端包括客户端(安卓、IOS)、Web前端、小程序等。而与之对应的后端则是负责业务逻辑处理,比如下单、支付等,重在业务流程的处理。后台一般和后端是一个意思,而服务器开发则稍微广义一点,不仅包含了后台开发,而且也包括支撑整个后台应用的基础开发,比如搜索引擎、微服务、RPC 框架、KV、存储、MQ 等。后台/后端重在业务处理,是偏向应用层开发,而服务器开发不仅包括应用层开发,更是囊括了整个支撑后台业务的相原创 2021-01-22 16:52:35 · 2890 阅读 · 4 评论 -
当技术达到什么水平,才能顺利进入BAT?
本文来自作者张义飞在 GitChat 上分享「如何学好 Linux、C++,并搞定 BAT 面试」简介本科的时候对 Linux 特别感兴趣,心中向往成为一名运维工程师,就开始没日没夜的看相关的书籍。到了大约2013年前后的时候发现 DevOps 开始流行起来了,就开始学习 Python 希望成为一名 DevOps 工程师,后来出去实习发现从事运维相关的工作并不是我的追求。苦于在合肥这样的城市真的很难找到一份专职做 DevOps 的地方(当时在科大讯飞的时候,做的就是纯运维的工作,该公司的 Dev.原创 2021-01-15 17:12:52 · 576 阅读 · 2 评论 -
5分钟弄懂程序员的如何升级到架构师。
对我们程序员来说,发展的途径要么是走管理岗,从开发升级到项目经理甚至是部门经理;要么走技术升级路线。不过在技术路线方面,无法升级到架构师的程序员不在少数。一方面,在不少公司的高级开发岗位上,无法让程序员实践甚至接触到架构师的技能,另一方面,有不少程序员甚至不清楚架构师所需要掌握的技能和升级途径。所以从结果上来看,至少有5成的程序员止步于“高级开发”的程度,这是非常令人可惜的。我这几年一直努力地从高级开发升级到架构师,目前虽然职位上没达到,但好歹多少也能干些架构师方面的活了。在本文里,将结合我自身和其它一些原创 2020-12-04 19:06:36 · 971 阅读 · 2 评论