用友云原生十二要素与用友技术中台实践,青岛用友软件联系电话:88869701
日志
在云原生设计中要求应用日志应当作为事件流来处理,允许执行环境通过集中式服务收集、聚合、索引和分析事件。不建议将日志文件直接输出到本地文件,而应该以事件流的形式输出到标准输出STDOUT和标准错误输入STDERR,然后进行捕获事件流并转发到相关分布式日志处理系统中。
在用友技术中台中的日志处理过程可以理解为日志生命周期的治理过程,分别为产生、收集、存储、处理、销毁这些过程。
根据云原生日志设计原则,在技术中台中每个容器应用可以将日志的标准输出STDOUT和标准错误输入STDERR传输给收集端,通过data-log组件收集,具体实现如下:
日志与事件:可以在容器应用的日志与事件选项卡中查询对应日志信息。
实时日志和历史日志:可以分别对实时日志、历史日志两个维度来查看应用日志信息。
关键词检索功能:可以通过输入关键字按照自己需要检索对应的日志信息。
系统事件:可以在系统事件选项卡中查看容器docker在主机上的运行状态比如:容器的启动、停止、pod创建、pod杀掉、镜像拉取等。
人员操作:可以在人员操作选项卡中查看平台用户对该容器应用的操作,比如应用重启,实例扩缩、实例强杀等操作。
汇总应用日志功能:可以通过选择对应产品线和产品同时选择多个应用进行查询对应的日志信息。
查询历史日志信息:可以通过不同的开始时间和结束时间选择对应时间段内所记录的日志信息。
关键词检索功能:可以通过输入关键字按照自己需要检索对应的日志信息。
进程管理
在云原生十二要素中关于进程的管理方式不建议直接通过SSH方式,而开发者经常会执行一些管理或维护应用的计划任务,比如数据库管理员需要定期执行SQL更新。在用友技术中台可以将数据库的SQL更新操作放置在流水线执行,如下所示:
将SQL命令通过git代码仓库进行版本管理,让使用者通过技术中台流水线的能力执行更新SQL的操作,同时可以设置定时执行的策略来触发流水线更新。
并且配合技术中台配置文件的管理功能,将更新脚本写入配置文件中,方便使用者的更新脚本的变更。
可以看到用友根据云原生十二要素理论打造出技术中台,通过技术中台可以帮助企业快速拥抱云原生,通过企业云原生的技术体系落实,优化自身业务系统,可以更加快速的创新和低成本试错,给整体架构能力带来极致弹性,从而更好的服务于业务。