Debian 爱好者社区 为您找到相关结果 411

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

field对应对象的field即可。 Hash的优点包括: 可以实现二元查找,如”查找ID为1000的用户的年龄” 比起将整个对象序列化后作为String存储的方法,Hash能够有效地减少网络传输的消耗 当使用Hash维护一个集合时,提供了比List效率高得多的随机访问命令 与Hash相关的常用命令: HSET:将key对应的Hash中的field设置为value。如果该Hash不存在,会自动创建一个。时间复杂度O(1) HGET:返回指定Hash中field字段的值,时间复杂度O(1) HMSET/HMGET:同HSET和HGET,可以批量操作同一个key下的多个field,时间复杂度:O(N),N为一次操作的field数量 HSETNX:同HSET,但如field已经存在,HSETNX不会进行任...阅读全文

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

协议介绍之深入了解 gRPC

streams,多个 streams 发送的数据互相不影响。 Stream 可以被 client 和 server 单方面或者共享使用。 Stream 可以被任意一段关闭。 Stream 会确定好发送 frame 的顺序,另一端会按照接到的顺序来处理。 Stream 用一个唯一 ID 来标识。 这里在说一下 Stream ID,如果是 client 创建的 stream,ID 就是奇数,如果是 server 创建的,ID 就是偶数。ID 0x00 和 0x01 都有特定的使用场景。 Stream ID 不可能被重复使用,如果一条连接上面 ID 分配完了,client 会新建一条连接。而 server 则会给 client 发送一个 GOAWAY frame 强制让 client 新建一条连接。 为了更...阅读全文

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

如何写好技术文档 — 来自十多年的文档经验总结

以很多情况下工程师最容易忽视。而且还有另外一个问题,没合适的地方放,参考文档可以写代码里,落地页可以写项目主页里,概念性文档似乎也只能在项目文档里找个不起眼的角落存放了。 这类文档的众会比较广,专家和新手都会去看。另外,它需要强调概念清晰明了,因此可能会牺牲完整性(可以由参考文档补齐),也有可能会牺牲准确性,这不是说一定要牺牲准确性,只是应当分清主次,不重要的就没必要说了。 ## Landing pages(落地页) ## Landing pages就先简单翻译成落地页了,没想到啥恰当的翻译词。比如一个团队或者项目的导航页,虽然没啥具体的内容,但应该包含其他页面的链接。 比如你新入职一个团队,比较成熟的团队都会扔给你一个文档,这个文档里包含常用的工具、文档链接,这就是这个团队的落地页。 落...阅读全文

博文 2021-07-30 16:15:13 joseph

HTML 5.1 — 14 项新增特性及使用案例

="petrolimage.jpeg" alt="Petrol price drops">

A man fueling up his car at petrol station

This is the forth hike in petrol prices in two month and the third in case of diesel in one fortnight.

12. 拼写检查 spellcheck 是一个取值可以为空字符串、true 和 false 的枚举属性。如果指定其状态为 true,就表示元素将会接对其的拼写和语法检查。 element.forceSpellCheck() 将强制用户代理在文...阅读全文

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

一位五年工作经验架构师的感悟

然现在的公司对我们还是很不错)。 钱,对于我而言,就是想买个安心。我用它来让父母对我的未来安心;让妻子对于未来充满信心(虽然她现在还不算很安心);让整个家庭有一定的风险抵抗能力。 安心以后,就是上路。 我记得第一段工作,是在恒生。我当时在恒生银行事业部,工作一年后,我发现自己进步很慢,在技术体系没有任何进展,公司的技术体系很旧,而且基本不进化。我自己做了一个技术的演进,使用了一种新的方式提升了平台的整体能力(当年还没有平台能力这些体系思路)。然后还期待年底被表彰下,技术人也是虚荣的,呵呵,就是期望可以带来成就感。 做着做着,发现没有人可以帮助我提升,虽然当时我很弱,我的学**思路也不清晰。平时就是逛逛网站,学**的很肤浅。但是,我内心感到:如果要是这样待下去,肯定废了,几年之后,还是同样的...阅读全文

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

RabbitMQ 高可用实现镜像队列

slave,并且Basic.Consume消费时指定了x-cancel-on-ha-failover参数,那么客户端会到一个Consumer Cancellation Notification通知。如果未指定x-cancal-on-ha-failover参数,那么消费者就无法感知master宕机,会一直等待下去。 这就告诉我们,集群中存在镜像队列时,重新master节点有风险。镜像队列中节点启动顺序,非常有讲究: 假设集群中包含两个节点,一般生产环境会部署三个节点,但为了方便说明,采用两个节点的形式进行说明。 场景1:A先停,B后停 该场景下B是master,只要先启动B,再启动A即可。或者先启动A,再在30s之内启动B即可恢复镜像队列。(如果没有在30s内回复B,那么A自己就停掉自己) 场景2...阅读全文

博文 2018-12-30 19:21:59 debian.cn

Kubernetes源码探疑:Pod IP泄露排查及解决方法

对于云主机与云主机之间,只有轻微差异(小包场景下,pps 会有 3~5% 损耗),而且Pod网络性能各项指标(吞吐量,包量,延迟等)不会随着节点规模增大而削减。而Flannel UDP,VXLan模式和Calico IPIP的模式存在明显的性能消耗。Pod能直通公有云和物理云。对于使用公有云和物理云的用户而言,业务上K8S少了一层障碍,多了一份便利。而Flannel的host gw模式下,容器无法访问公有云和物理云主机。 而CNI的工作流程如下所示。 创建Pod网络过程: 删除Pod网络过程: Pod IP 消失问题的排查与解决 为了测试CNI插件的稳定性,测试同学在UK8S上部署了一个CronJob,每分钟运行一个Job任务,一天要运行1440个任务。该CronJob定义如下...阅读全文

Gitlab CI 配置文件 .gitlab

/$CI_COMMIT_REF_NAME url: https://$CI_ENVIRONMENT_SLUG.example.com/ 当$CI_COMMIT_REF_NAME 被Runner设置为environment variable时,deply as review appjob将会被指定部署到动态创建revuew/$CI_COMMIT_REF_NAME的环境中。$CI_ENVIRONMENT_SLUG变量是基于环境名称的,最终组合成完整的URLs。在这种情况下,如果deploy as review appjob是运行在名称为pow的分支下,那么可以通过URLhttps"//review-pw.example.com/来访问这个环境。 这当然意味着托管应用程序的底层服务器已经正确配置。 常见的做法是为分支创建动态环境,并讲...阅读全文

博文 2018-12-12 21:01:19 ci.yaml 详解(上)

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

这些服务进行交互,这是另一个优势,它可以自动生成需要的所有类。这个生成的代码负责消息建模,并提供一个存根类,其中包含与您的服务端点相关的重复方法调用。 支持多种语言,包括C ++,Java,Python,Go,Ruby,C#,Node,Android,Objective-C和PHP。但是,使用protobuf文件维护和同步生成的代码是个问题。我们已经能够通过使用Protobuf文件自动生成客户端库来解决这个问题,会在即将发布的下一篇博客文章中分享更多的内容。 gRPC最好的特性之一是支持中间件模式,被称为拦截器。它允许扩展所有的gRPC实现(这对企业来说很重要),能够轻松访问所有请求,从而实现自己的微服务最佳实践。gRPC还内置了对一系列认证机制的支持,包括SSL / TLS。 gRPC社区...阅读全文

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

得物云原生全链路追踪Trace2.0-采集篇 - OSCHINA

的调用链路通常复杂多变,站在流量角度上看,需要完整地知道它的来源,上下游链路,异步调用等等,这对于 CAT 来说可能略显超纲。 缺少图表定制化能力: CAT 虽供多维度报表分析,但定制化能力非常有限,在当时,业内的图表组件定制化解决方案逐步向 Grafana + Prometheus 靠拢,但若使用 CAT,则无法享强大的图表绘制能力。与此同时,随着云原生社区可观测性项目 OpenTracing 的崛起,大约不到半年时间我们逐步下线了 CAT,向 OpenTracing 生态演进。 三、 0x02 第二阶段 持续创造 基于OpenTracing全链路采样监控 OpenTracing 为全链路追踪 Trace 定制了完整的一套协议标准,本身并不提供实现细节。在 OpenTracing 协议中...阅读全文

博文 2022-12-10 06:50:41 中文开源技术交流社区

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

->A4};……; {A1,A2,...,Ai}->Ai+1. 这种方式就是第二数学归纳法。对于Ai+1需要前面的所有前序状态才能完成推理过程。我们将这一模型称为高阶马尔科夫模型。对应的推理过程叫做“动态规划法”。 上述两种状态转移图如下图所示: 能用动规解决的问题的特点 能采用动态规划求解的问题的一般要具有3个性质: (1) 最优化原理:如果问题的最优解所包含的子问题的解也是最优的,就称该问题具有最优子结构,即满足最优化原理。 (2) 无后效性:即某阶段状态一旦确定,就不这个状态以后决策的影响。也就是说,某状态以后的过程不会影响以前的状态,只与当前状态有关。 (3)有重叠子问题:即子问题之间是不独立的,一个子问题在下一阶段决策中可能被多次使用到。(该性质并不是动态规划适用的必要条件,但是如果没...阅读全文

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