InfraPub 为您找到相关结果 260

分布式运行时 Dapr 知多少

微服务。 以上是Dapr官方GitHub仓库上对Dapr的简介。文虽短,口气却很大,因为其除了涵盖了当前所有的技术热点:分布式、云、微服务,还自我标榜为:分布式应用运行时。分布式应用我们或多或少有些了解,运行时也听到不少,比如常见的语言运行时:Java 运行时,.NET 运行时,Go 运行时等等,那运行时又是什么东西?简要来说:运行时是程序运行依赖的执行环境。以.NET 程序运行时CLR为例,它为.NET应用程序提供了一个托管的代码执行环境负责应用程序在整个执行期间的内存管理、线程管理、安全管理、远程管理、即使编译等。 那分布式应用运行时,就是提供分布式应用运行所依赖的的执行环境。那运行分布式应用需要哪些环境依赖呢?回答这个问题,我们要先思考开发分布式应用的挑战是什么?明确了挑战,那就找到...阅读全文

Git 介绍与使用详解

checkout -b branch_name tag_name //将tag拷贝到新分支上修改 建议:在每次发版后当标签,方便后面线上有问题能及时修改 6.储藏(stash) 当修改了代码后发现自己改错分支了。或者,不想将修改的东西提交上去,则可以储藏起来,到合适时候恢复 git stash //会把所有未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工作目录,当前的工作目录就干净了。 git stash pop //重新应用缓存的stash,将缓存堆栈中的第一个stash删除,慎用 git stash apply //将缓存堆栈中的stash多次应用到工作目录中,但并不删除stash拷贝 git stash list //查看现有stash git stash drop+名...阅读全文

博文 2017-02-25 09:00:27 程序员

深入理解Golang之context

context链可能是这样的:当前cancelCtx的父节点context并不是一个可取消的context,也就没法记录children。timerCtxtimerCtx是一种基于cancelCtx的context类型,从面上就能看出,这是一种可以定时取消的context。type timerCtx struct { cancelCtx timer *time.Timer // Under cancelCtx.mu. deadline time.Time } func (c *timerCtx) Deadline() (deadline time.Time, ok bool) { return c.deadline, true } func (c *timerCtx) cancel...阅读全文

博文 2021-01-27 09:05:27 知乎

WebAssembly:无需容器的 Docker (下)

本文翻译自 Wasm Labs @ VMware OCTO 的 blog: WebAssembly: Docker without container。这是 Wasm Labs 在 2022 年 12 月 15 日在冬季 Docker Community All Hands 7 的关于 Docker+WebAssembly 的演讲的文版。作者:Asen Alexandrov,Wasm Labs 工程师。文中的我们均指作者或 Wasm Labs。本篇文章将更具实践性,将以 PHP 为例带领大家实践 Docker + Wasm。上篇文章我们了解了服务端 Wasm 为什么有着重要的作用、什么是 WasmEdge 以及如何让解释型语言编写的程序在 Wasm 里运行,这篇文章,我们将通过动手示例了...阅读全文

博文 2023-01-03 06:39:46 spider

协议介绍之深入了解 gRPC

header 主要有 Call-Definition 以及 Custom-Metadata。Call-Definition 里面包括 Method(其实就是用的 HTTP/2 的 POST),Content-Type 等。而 Custom-Metadata 则是应用层自定义的任意 key-value,key 不建议使用 grpc- 开头,因为这是为 gRPC 后续自己保留的。 Length-Prefixed-Message 主要在 DATA frame 里面派发,它有一个 Compressed flag 用来表示该 message 是否压缩,如果为 1,表示该 message 采用了压缩,而压缩算啊定义在 header 里面的 Message-Encoding 里面。然后后面跟着四节的...阅读全文

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

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

、为Linux做些许贡献,也就知足了。 2,有什么话或者寄语要送给我们 LinuxStory 的读者吗? 答:想说对一些新手或对自己学习没信心的年轻人说:非计算机专业、30多岁才接触Linux的我都行,你有大把的时间和精力,为什么不行? 别人都说兴趣不能作为职业,成为职业后你会丢了兴趣。通过对您的了解,小编觉得您是一位真正把Linux当作兴趣、爱好的Linuxer!是一名内心狂热而外显高冷Linux爱好者!正如清风博主这个名,您对Linux的喜爱如清风一样纯粹!您把对她的关注和钻研悄悄融入了您的生活,您对Linux的态度让小编佩服不已!非常感谢清风老师给小编这样一次机会来了解您,祝您工作顺利,家庭幸福! 原文出自这里: https://linuxstory.org/qingfeng...阅读全文

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

Golang 操作 Kafka 样例

务器都是一个代理(Broker). 消费者可以订阅一个或多个话题,并从Broker拉数据,从而消费这些已发布的消息。 5.Partition(分区):Topic物理上的分组,一个topic可以分为多个partition,每个partition是一个有序的队列。partition中的每条消息都会被分配一个有序的id(offset) Message:消息,是通信的基本单位,每个producer可以向一个topic(主题)发布一些消息。 复制代码 1.1.5. 消息 消息由一个固定大小的报头和可变长度但不透明的节阵列负载。报头包含格式版本和CRC32效验和以检测损坏或截断 1.1.6. 消息格式 1. 4 byte CRC32 of the message 2. 1 byte "magic...阅读全文

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

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

,controller.quorum.voters 配置中提供的节点ID必须与提供给服务器的节点ID匹配。比如在Controller1上,node.Id必须设置为1,以此类推。注意,控制器id不强制要求你从0或1开始。然而,分配节点ID的最简单和最不容易混淆的方法是给每个服务器一个数ID,然后从0开始。(二)下载并解压安装包bigdata01下载kafka的安装包,并进行解压:[hadoop@bigdata01 kraft]$ cd /opt/soft/[hadoop@bigdata01 soft]$ wget http://archive.apache.org/dist/kafka/3.1.0/kafka_2.12-3.1.0.tgz[hadoop@bigdata01 soft]$ tar -zxf kafka_2.12-3.1.0...阅读全文

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

深入了解Docker背后的namespace技术

/etc/hosts type ext4 (rw,relatime,errors=remount-ro,data=ordered) devpts on /dev/console type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) 上面是在我的demo容器中看到的挂载点。为了创建一个新的mount namespace,我们使用CLONE_NEWNS标志位。大家可以注意到这个标志位名称有点奇怪,为什么不是 CLONE_NEWMOUNT或者CLONE_NEWMNT呢?这是因为mount namespace是Linux中的第一个命名空间,所以这里的这里的标记位参数名有点不符合常规,经常我们在编码实现一个新的特性或者应用的...阅读全文

博文 2015-05-17 10:03:00 debian.cn

Apollo 配置中心简单介绍

要选择在哪些环境和集群下使用 4.3.3 在Namespace中添加配置项 接下来在这个新建的namespace下添加配置项 添加完成后就能在FX.Hermes.Producer的namespace中看到配置。 4.3.4 发布namespace的配置 4.3.5 客户端获取Namespace配置 对自定义namespace的配置获取,稍有不同,需要程序传入namespace的名。更多客户端使用说明请参见Java客户端使用指南。 Config config = ConfigService.getConfig("FX.Hermes.Producer"); Integer defaultSenderBatchSize = 200; Integer senderBatchSize...阅读全文

博文 2021-04-09 17:53:51 CSDN