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

分布式运行时 Dapr 知多少

化分布式应用开发的技术复杂度。 How Dapr Works 那Dapr如何简化分布式应用的开发呢?下面我们来看一看Dapr的主要特性。 一图胜千言:Dapr通过以HTTP/gRPC API这种与语言无关的方式暴露封装的分布式能力供应用调用,从而支持使用任意语言或框架进行开发集成。目前官方已经提供了Go,Node,Python,.NET,Java, C++,PHP,Rust,Javascript的Sdk,简化Dapr的集成。 其中Dapr的核心构建块(Building Block)就是用来提供各种不同的分布式能力,我们来分别看一看。 1. Service-to-service invocation(服务调用) 提到跨服务方法调用,这个大家肯定会想,这简单啊,不就是服务暴露API就好了嘛。是...阅读全文

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

的语言,你只需要将问题讲清楚即可。 - 有时候工具不好用也会影响的文档写作。如果没有一个很好的写作工具将写文档嵌入到开发工作流程中的话,写作确实会增加工作的负担。 - 大多数人将写文档看做是工作的额外负担。 我代码都没时间写,哪有时间写文档!,这其实是错误的观念,文档虽然前期有投入,但能让你代码的后期维护成本大幅降低,磨刀不误砍柴工这个道理相信大家都还是能理解的。 ## 如何产出高质量文档 ## 既然理解了好文档的重要性,我们如何保证在时间的长河中维护好一份文档,这里有些相关的方法论,大家可以参考下。 ## 像管理代码一样管理文档 ## 对于如何写出好代码,整个技术圈已经有好多经验的总结了,比如书籍《重构》《代码简洁之道》…… 针对各种编程语言,也有相关的规范,比如国外的Google C...阅读全文

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

细数k8s支持的4种类型的container - 侃豺小哥

:9f1003c480699be56815db0f8146ad2e22efea85129b5b5983d0e0fb52d9ab70 Port: Host Port: Command: sh State: Running Started: Thu, 29 Aug 2019 06:42:21 +0000 Ready: False Restart Count: 0 Environment: Mounts: ... 可以使用以下命令连接到新的临时容器: kubectl attach -it example-pod -c debugger 如果启用了进程命名空间共享,则可以查看该 Pod 所有容器中的进程。 例如,运行上述 attach 操作后,在调试器容器中运行 ps 操作: # 在 "debugger" 临时容器内中运行此 shell 命令 ps auxww 运行命令...阅读全文

博文 2021-08-20 11:45:32 博客园

Golang 操作 Kafka 样例

1. Kafka介绍 1.1.1. Kafka是什么 kafka使用scala开发,支持多语言客户端(c++、java、python、go等) Kafka最先由LinkedIn公司开发,之后成为Apache的顶级项目。 Kafka是一个分布式的、分区化、可复制提交的日志服务 LinkedIn使用Kafka实现了公司不同应用程序之间的松耦和,那么作为一个可扩展、高可靠的消息系统 支持高Throughput的应用 scale out:无需停机即可扩展机器 持久化:通过将数据持久化到硬盘以及replication防止数据丢失 支持online和offline的场景 复制代码 1.1.2. Kafka的特点 Kafka是分布式的,其所有的构件borker(服务端集群)、producer(消息生产...阅读全文

博文 2023-01-10 13:46:09 掘金

Docker 核心原理

用,容器之间相互隔离,并且能按需分配资源。大大提高了运维效率和资源利用率 架构 Docker使用了 C/S 体系架构,Docker 客户端与 Docker 守护进程通信,Docker 守护进程负责构建,运行和分发 Docker 容器。Docker 客户端和守护进程可以在同一个系统上运行,也可以将Docker客户端连接到远程Docker守护进程。 我们日常在命令行的操作 docker build, docker push, docker pull, docke build 等等操作都是客户端通过 rest api 请求与 Docker 守护进程交互。 实现原理 下面我们就介绍一下 Docker 在实现隔离,资源控制,文件系统等关键部分所采用的的技术 Namespace Linux manaul...阅读全文

博文 2021-02-25 09:14:23 lxkaka

最全的 DevOps 工具集合

Subversion 是一个软件版本和修订控制系统,其根据 Apache 许可开源。软件开发人员可使用 Subversion 来维护源代码、网页和文档等文件的当前和历史版本。 构建工具 构建阶段主要是为了保持打包的一致性,自动执行容易出错的活动,生成早期质量信号。目前业内比较常用的构建工具包括 Maven/Gradle、MSBuild、Rake、JFrog Artifactory、Sonatype Nexus 和 NuGet。 Maven/Gradle Maven 是主要用于 Java 项目的自动化构建工具。Maven 还可以构建和管理以 C#、Ruby、Scala 等语言编写的项目。 Gradle 是一个开源的自动化构建系统,其基于 Apache Ant 和 Apache Maven 的理念,并引入了基于...阅读全文

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

提问的智慧 – 全文

(FAQ),列出了错误,也没有假设问题是别人的过错,值得留意一下。 愚蠢:我的主板有问题,谁能帮我? 某黑客管理员对此的反应可能是:「是的,还需要帮你拍背和换尿布吗?」,然后是敲下删除键。 明智:我在S2464主板上试过X、Y和Z方法,当它们都失败后,又试了A、B和C方法。注意我试C时的奇怪症状,显然某某东西正在做某某事情,这并不是正常的现象。通常在Athlon MP主板上导致某某事情的原因是什么?有谁知道我还能再尝试什么方法以确定问题? 相反地,这个人的问题看来值得回答。他或她展现了解决问题的能力而不是坐等天上掉馅饼。 在最后那个问题中,注意「给我一个答案」与「请帮我看看我还能再做点什么测试以得到启发」之间细微但重要的差别。 事实上,最后那个问题基本上源于2001年8月Linux内核邮件列表...阅读全文

博文 2009-10-01 13:18:00 debian.cn

HTTP状态码详解

可以在没有用户介入的情况下自动提交所需要的后续请求。客户端应当自动监测无限循环重定向(例如:A->A,或者A->B->C->A),因为这会导致服务器和客户端大量不必要的资源消耗。按照 HTTP/1.0 版规范的建议,浏览器不应自动访问超过5次的重定向。 300 被请求的资源有一系列可供选择的回馈信息,每个都有自己特定的地址和浏览器驱动的商议信息。用户或浏览器能够自行选择一个首选的地址进行重定向。 除非这是一个 HEAD 请求,否则该响应应当包括一个资源特性及地址的列表的实体,以便用户或浏览器从中选择最合适的重定向地址。这个实体的格式由 Content-Type 定义的格式所决定。浏览器可能根据响应的格式以及浏览器自身能力,自动作出最合适的选择。当然,RFC 2616规范并没有规定这样的自动选...阅读全文

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

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

Redis命令组合在一起,例如: SET a "abc" INCR b HSET c name "hi" 此时便可以使用Redis提供的pipelining功能来实现在一次交互中执行多条命令。 使用pipelining时,只需要从客户端一次向Redis发送多条命令(以rn)分隔,Redis就会依次执行这些命令,并且把每个命令的返回按顺序组装在一起一次返回,比如: $ (printf "PINGrnPINGrnPINGrn"; sleep 1) | nc localhost 6379 +PONG +PONG +PONG 大部分的Redis客户端都对Pipelining提供支持,所以开发者通常并不需要自己手工拼装命令列表。 Pipelining的局限性 Pipelining只能用于执行连续且无相关性的命...阅读全文

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