InfraPub 为您找到相关结果 158

协议介绍之深入了解 gRPC

HTTP/1.x 做过推送的同学,大概就知道有多么的痛苦,因为 HTTP/1.x 并没有推送机制。所以通常两种做法: Long polling 方式,也就是直接给 server 挂一个连接,等一段时间(譬如 1 分钟),如果 server 有返回或者超时,则再次重新 poll。 Web-socket,通过 upgrade 机制显式的将这条 HTTP 连接变成裸的 TCP,进行双向交互。 相比 Long polling,笔者还是更喜欢 web-socket 一点,毕竟更加高效,只是 web-socket 后面的交互并不是传统意义上面的 HTTP 了。 Hello HTTP/2 虽然 HTTP/1.x 协议可能仍然是当今互联网运用最广泛的协议,但随着 Web 服务规模的不断扩大,HTTP/1.x 越...阅读全文

博文 2017-06-22 11:08:48 debian.cn

中国开源人访谈系列之:清风博主

,firefox和chrome就行了;QQ聊天用最新的wine,加上Yuking大神做的一个库跑精简版的QQ,很稳定;日常办公用WPS for Linux,老师用的最多的就是幻灯片,对于从网上下载的课件,Linux下的办公软件中,WPS是兼容性最好的。 12.您怎么看开源精神,开源与商业? 答:我是开源精神的支持者,也不反对开源与商业的结合,我认为这也是开源事业能有旺盛的生命力的原因之一。多数人在吃饱穿暖的基础上,才能有更高的追求,不可否认,像Richard Stallman这样的开源领袖,不是每个人都能做到的。但也正是有了这样一群可爱的狂热开源人士,我们的世界才变得更加美好! B.您与Linux社区 1.请问您有特别加入某个社区吗? 答:2013年的时候,在一位资深Gentooer的鼓动下,打算重建...阅读全文

博文 2021-01-28 17:50:13 debian.cn

Hadoop 核心 - HDFS 分布式文件系统详解

packet 为单位(默认64K),A 收到一个 packet 就会传给 B,B 传给 C。A 每传一个 packet 会放入一个应答队列等应答; 数据被分割成一个个 packet 数据包在 pipeline 上依次传输,在 pipeline 反方向上, 逐个发送 ack(命令正确应答),最终由 pipeline 中第一个 DataNode 节点 A 将 pipelineack 发送给 Client; 当一个 block 传输完成之后,Client 再次请求 NameNode 上传第二个 block,重复步骤 2; 7.1 网络拓扑概念 在本地网络中,两个节点被称为“彼此近邻”是什么意思?在海量数据处理中,其主要限制因素是节点之间数据的传输速率——带宽很稀缺。这里的想法是将两个节点间的带宽作为距离的...阅读全文

最全的 DevOps 工具集合

它身上可以找到 Screw.Unit、JSSpec、JSpec 和 RSpec 等诸多单元测试框架的影子。 Cucumber Cucumber 是一种支持行为驱动开发的软件工具。 Cucumber BDD 方法的核心是一种称为 Gherkin 的普通语言解析器。它能用客户可以理解的逻辑语言来指定预期的软件行为。 持续集成和部署(CI/CD) CI 工具的存在是为了快速反馈和减少缺陷、等。目前业务比较常用的 CI 工具包括 Jenkins、CircleCI、Travis CI、Concourse、AWS CodePipeline 和 Azure Pipelines。 Jenkins Jenkins 是一个免费的开源自动化服务器。Jenkins 可用来自动化软件开发过程中非人类参与的工作,基于...阅读全文

博文 2021-05-26 14:35:21 博客园

Kafka 3.0新特性全面曝光,真香!

,选票会被瓜分,有可能没有选出领导人,那么,将会开始另一个任期,并且立刻开始下一次选举。Raft算法保证在给定的一个任期最多只有一个领导人。Leader选举的过程Raft使用心跳来进行触发leader选举,当服务器启动时,初始化为follower角色。leader向所有Follower发送周期性心跳,如果Follower在选举超时间内没有收到Leader的心跳,就会认为leader宕机,稍后发起leader的选举。每个Follower都会有一个倒计时时钟,是一个随机的值,表示的是Follower等成为Leader的时间,倒计时时钟先跑完,就会当选成为Leader,这样做得好处就是每一个节点都有机会成为Leader。当满足以下三个条件之一时,Quorum中的某个节点就会触发选举:向Leader...阅读全文

博文 2022-04-28 16:02:11 mp.weixin.qq.com

7大维度看国外企业为啥选择gRPC打造高性能微服务

我们正处于gRPC采用的开始阶段,期社区提供更多的工具和技术。很高兴能够加入这个充满活力的社区,并对未来的项目有一些想法,我们希望看到这些项目是开放源代码或我们自己写的。 gRPC工具的当前状态 gRPC比较新,缺乏可用的开发工具,特别是与经验丰富的REST over HTTP / 1.1协议相比。搜索教程和示例时,这一点尤其明显,因为只有少数有用的信息。二进制格式也使消息不透明,需要努力解码。虽然有一些选择,例如JSON代码转换器可以帮助,但预计需要做一些基础工作,以便为gRPC提供顺畅的开发体验。 我们喜欢用Apiary 来记录外部API。使用服务协议缓冲区(protobuf)文件自动生成交互式文档的等价物,将是理想的有效的内部通信gRPCAPI。protobuf文件的静态分析在运行时...阅读全文

博文 2018-03-19 17:51:32 debian.cn

六大算法之三:动态规划【转载】

[i]){ dp[j] = dp[j]; }else if(j == num[i]){ dp[j] = 1; }else{ if(dp[j]!=0&&dp[j-num[i]]!=0){ dp[j] = Math.min(dp[j], dp[j-num[i]]+1); }else{ dp[j] = dp[j]!=0?dp[j]:dp[j-num[i]]; } } } } return dp[target]; } 动态规划和分治区别: 动态规划算法:它通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治...阅读全文

博文 2021-07-31 07:18:53 CSDN博客

Redis 命令、特性介绍与性能调优

Redis的主机物理内存有多大?有多少可以分配给Redis使用?对比(1)中的内存需求评估,是否足够用? Redis面临的并发写压力会有多大?在不使用pipelining时,Redis的写性能可以超过10万次/秒(更多的benchmark可以参考 https://redis.io/topics/benchmarks ) 在使用Redis时,是否会使用到pipelining和事务功能?使用的场景多不多? 综合上面几点考虑,如果单台主机的可用物理内存完全足以支撑对Redis的容量需求,且Redis面临的并发写压力距离Benchmark值还有距离,建议采用主从复制的架构,可以省去很多不必要的麻烦。同时,如果应用中大量使用pipelining和事务,也建议尽可能选择主从复制架构,可以减少设计和开发时的复杂...阅读全文

博文 2018-10-27 10:37:55 debian.cn