首页 文章 精选 留言 我的

精选列表

搜索[应用运行环境],共10000篇文章
优秀的个人博客,低调大师

运行容器其实不需要Docker镜像

WOT全球技术创新大会2022,门票6折抢购中!购票立减2320元! 这个有点标题党的意思,但确实是事实:容器的镜像只是组织rootfs,如果我们提前准备好rootfs,那么就不需要容器的镜像。 下面我们通过一个实战演示一下,如何直接通过runc启动容器。 $mkdirmy_container&&cdmy_container $runcspec 通过spec命令便可以生成一个config.json文件。文件的内容大概是下面这样的 { "ociVersion":"1.0.1-dev", "process":{ "terminal":true, "user":{ "uid":0, "gid":0 }, "args":[ "sh" ], "cwd":"/", "env":[...], "capabilities":{...}, "rlimits":[...] }, "root":{ "path":"rootfs", "readonly":true }, "hostname":"runc", "mounts":[...], "linux":{ "namespaces":[ {"type":"pid"}, {"type":"network"}, {"type":"ipc"}, {"type":"uts"}, {"type":"mount"} ] } } 里面就是标准的RUNC格式,主要是定义了启动命令、env、rootfs、主机名、mount挂载、namespace等。 然后我们创建一个rootfs目录 $mkdirrootfs 然后我们写一个打印主机名的Go程序,编译后并拷贝到rootfs里面。 $cat<<EOF>main.go packagemain import"fmt" import"os" funcmain(){ fmt.Println(os.Hostname()) } EOF $GOOS=linuxGOARCH=amd64gobuild-ldflags="-w-s"-oprintme $mvprintmerootfs/ 然后启动容器 $sudorunccreatemycont1 $sudoruncstartmycont1 便可以直接输出”runc“(因为上面spec定义的hostname就是runc)。 所以对应容器来说,只是需要一个rootfs,其实这个rootfs是怎么生成的,它其实并不关心。至于是不是用overlay 制作的更是无从感知。

优秀的个人博客,低调大师

Kafka 源码解析:Server 端的运行过程

摘要:Kafka网络模块之Server端,介绍Server端启动、接收请求和处理请求的过程。 本文分享自华为云社区《Kafka网络模块-Server端》,原文作者:中间件小哥 。 SocketServer 是 Kafka server 端用于处理请求的模块,在 Kafka 启动过程创建、初始化、启动。 SocketServer启动过程: 按照 endpoint 顺序初始化 Acceptor,每个 endpoint 对应一个 Acceptor,为每个 Acceptor 创建 Processor(数量由 num.network.threads 配置项决定),并启动 Acceptor,Acceptor 启动后会通过 selector 监听连接,并将新建立的连接交给 Processor 处理(轮询选择 Processor) 启动所有 Processor Acceptor启动、监听连接过程: Acceptor启动后,会创建一个 serverSocketChannel,监听在该 acceptor 对应的 endpoint 上,并在 selector 上注册 OP_ACCEPT,然后进入死循环,每次循环,通过 selector 获取就绪的 key(即前面注册的 serverSocketChannel),表明有连接来到,然后通过 accept() 创建一个和该连接对应的 socketChannel,然后从该 acceptor 负责的 processors 中轮询选择一个,将该 socketChannel 交给选择的 processor 处理,即将连接交给 processor。 Acceptor 将连接交给 processor 处理,是将 socketChannel 加入 processor 的连接队列 newConnection 中,processor 在 run 方法中会不断地从中获取并处理。 Processor 从 newConnection 获取到 socketChannel 后,在 selector 上注册 OP_READ,并创建对应的 KafkaChannel。 Server端接收请求、处理的过程: Processor 收到 OP_READ 的事件就绪后,检查并尝试完成 SSL 握手和 SASL 校验(此时不一定握手完成,所以在 Processor 收到 OP_READ 的事件就绪后,要先检查并确保握手已经完成,SSL/SASL相关参考 9.4 节) SSL 握手和 SASL 校验完成后,从 channel 中读取数据,构造 NetworkReceive 对象,并入队 stagedReceives 取出 stagedReceives 队首元素(移除),加入 completedReceives 将 completedReceives 中的元素取出(不移除),构造 Request 对象,加入 requestQueue,移除对 OP_READ 的事件注册,并将对应的 KafkaChannel 置为 MUTED,再置为 MUTED_AND_RESPONSE_PENDING KafkaRequestHandler 从 requestQueue 取出元素(移除),并交给 KafkaApi 模块处理请求 KafkaApi 处理完请求后,将响应放入对应的 processor 的 responseQueue 和 inflightResponses 中,并唤醒其 selector Processor 从 responseQueue 中取出响应(移除),若响应是需要发回给客户端的,则将响应的 send 赋值给 KafkaChannel,并注册 OP_WRITE 事件 当 channel 写就绪后,将 send 写入 channel 的写 buffer,当 send 写完后,移除对 OP_WRITE 事件的注册,并将 send 加入 completedSends 从 inflightResponses 中移除对应的响应,执行响应回调,将 KafkaChannel 置为 MUTED,再从 MUTED 置为 NOT_MUTED,并重新添加 OP_READ 事件注册 点击关注,第一时间了解华为云新鲜技术~

优秀的个人博客,低调大师

mybatis-generator运行报错Communications link failure

原因分析:mysql使用了8.0以上的版本。搜索得到的结果:第一种方法,在jdbcURL上加上了 ?characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=UTC&amp;rewriteBatchedStatements=true 使用了之后呢,然后过了一段时间,还是报那个Communications link failure 错误。 于是就采用第二种方法:在mysql的my.ini里面加上这两个参数wait_timeout=2147483interactive_timeout=2147483因为帖子里说是在默认配置不改变的情况下,如果连续8小时内都没有访问数据库的操作,再次访问mysql数据库的时候,mysql数据库会拒绝访问,于是那就加上吧 加了之后呢,又开始测,过了一段时间,还是报Communications link failure 错误,这下彻底凉了,于是继续翻看着, 第三种方法:把jdbcURl的ip地址链接,改成localhost,(果然大神们的帖子都是干练到极致,小弟佩服)于是我就将自己的云服务器上的jdbc连接手动改成了localhost连接(开发工具上还是用ip连接,这里说的是将自己云服务器上的项目用localhost连接,所以是可以连接到数据库的) 然后过了一段时间,发现是可以用的,再也没有Communications link failure 错误了,当然此时的我还是怀疑的,准备长时间不连接,等第二天早上再次链接,发现再也不会报这个错误了,至此这个坑终于填好了。 以上均为搜索结果,未解决问题,后来发现,是mysql服务未启动,哈哈,net start msyql就好了!

优秀的个人博客,低调大师

使用MaxCompute Java SDK运行安全相关命令

使用MaxCompute Console的同学,可能都使用过MaxCompute安全相关的命令。官方文档上有详细的MaxCompute 安全指南 ,并给出了安全相关语句汇总 。 简而言之, 权限管理 、 列级别访问控制 、 项目空间安全配置 以及 跨项目空间的资源分享 都属于 MaxCompute 安全命令相关的范畴。 再直白一点,以下列关键字开头的命令,都是MaxCompute安全相关操作命令: GRANT/REVOKE ... SHOW GRANTS/ACL/PACKAGE/LABEL/ROLE/PRINCIPALS SHOW PRIV/PRIVILEGES LIST/ADD/REOVE USERS/ROLES/TRUSTEDPROJECTS DROP/CREATE ROLE CLEAR EXPIRED GRANTS DESC/DESCRIB

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册