使用 loginctl enable-linger 让 systemd 用户服务在退出登录后继续运行
在 Linux 系统中,尤其是使用 systemd 的发行版,默认情况下用户的 systemd --user 实例只有在用户登录会话(Session)处于活动状态时才会运行。一旦用户退出登录,所有的用户级服务都会被终止。 如果需要运行一些持久化的用户级后台服务,但又不想赋予这些服务系统级(Root)权限,那么 Linger 机制就是关键。
在 Linux 系统中,尤其是使用 systemd 的发行版,默认情况下用户的 systemd --user 实例只有在用户登录会话(Session)处于活动状态时才会运行。一旦用户退出登录,所有的用户级服务都会被终止。 如果需要运行一些持久化的用户级后台服务,但又不想赋予这些服务系统级(Root)权限,那么 Linger 机制就是关键。
1. encoding/binary包简介 在用Go进行数据传输的场景下,例如文件传输或文件存储时,需要将Go的数据例如int转换为[]byte。 得到的[]byte可以进一步在网络上传输或写入到文件中。这个场景需要借助go标准库中的encoding/binary包来实现。 encoding/binary包实现了简单的数字与字节序列的转换以及变长值的编解码。 一个定长值是指要么是固定长度的数字类型(int8, uint8, int16, float32, complex64, …)或者只包含定长值的结构体或者数组。
Docker使用Linux Cgroups限制容器对CPU、内存等资源的使用,防止由于某个容器对资源的过度使用而导致主机上其他容器无法正常运行。 Cgroup是control group的简称,是Linux内核提供的一个特性,用于限制和隔离一组进程对系统资源的使用,包括CPU、内存、block I/O、网络带宽。
现在一些开源的分布式调用跟踪系统大多都参考了Google的论文《Dapper,大规模分布式系统的跟踪系统》。 这里我们简单学习一下Dapper的基本概念。 分布式调用跟踪系统实际上是随着微服务才火起来的一个概念,当然Google在很多年前已经微服务化了,所以他的分布式跟踪理论应该是最成熟的。 分布式跟踪系统出现的原因简单的说是因为在分布式系统中一次请求中会包含很多的RPC,迫切需要一些可以帮助理解系统行为和分析性能问题的工具,需要断定具体哪个服务拖了后腿。
基本概念 Raft的三个模块 分布式一致性协议允许一组服务器节点像一个整体一样工作,允许其中一些节点出现故障也能继续工作下去。正式因为如此,一致性算法在构建大规模分布式软件系统扮演着十分重要角色。Paxos一直是分布式领域内一致性协议的代名词,但Paxos十分难以理解,绝大数实现基于Paxos进行修改才能应用到实际系统中,因此Paxos的具体实现具有不统一性。
内存 innodb_buffer_pool_size innodb_buffer_pool_size是使用InnoDB存储引擎时最关键的配置项。InnoDB使用一块专门的内存区域做IO缓存,该缓存既缓存InnoDB的索引块,又会缓存InnoDB的数据块。这个缓存区就是InnoDB Buffer Pool,使用innodb_buffer_pool_size设置其大小,在保证系统及其他程序有可用内存的情况下,设置的越大,缓存命中率越高,访问InnoDB的磁盘IO越少,性能越好。
status和variable MySQL的状态变量显示MySQL服务实例的状态信息,这些状态信息是动态的,包括MySQL服务器连接的会话状态、变量信息等。默认情况下状态变量都是以大写字母开头。 查看MySQL的状态变量: show status; show session status; show global status; MySQL系统变量是指MySQL服务实例的各种系统变量(包括全局系统变量、会话系统变量、静态变量),这些变量包含MySQL编译时的参数默认值,或者my.cnf配置文件里配置的参数值。系统变量是一个静态的参数,默认情况下系统变量都是小写字母。
1.基本概念-文档和索引 1.1 文档(document) Elasticsearch是面向文档的,文档被序列胡化JSON格式保存在Elasticsearch中。 文档是指存储在索引里的JOSN格式的文档。每个文档由字段组成。 例如: { "_index": "book-store", "_type": "book", "_id": "1", "_version": 1, "_score": 1, "_source": { "id": 1, "name": "ElasticSearch Book" } } 1.2 字段(field) 字段是组成文档的基本元素。例如上面例子中的"name": "ElasticSearch Book"这个键值对就是一个最基本的字段。 每个文档都有一些元数据字段,用于标注文档的相关信息,如:
计算机中使用的时间是UTC时间(世界标准时间或世界协调时)。CentOS下的时区设置文件被编译好后保存在/usr/share/zoneinfo目录下,包含了大部分的城市和编码。 ls /usr/share/zoneinfo 系统安装完成设置好时间之后,这些信息保存在/etc/localtime这个文件中,实际上这个文件是指向/usr/share/zoneinfo下某个文件的链接。当/etc/localtime不存在的时候,则系统使用UTC时间。
安装ntp组件 网络时间协议ntp是时间服务器的一种协议。在时间服务器工作时,其可利用不同的工作模式与其他服务器或用户端进行时间的调整,实现时间的同步。 使用ntp需要安装ntp服务组件: yum install -y ntpdate ntp systemctl start ntpdate systemctl start ntpd systemctl enable ntpd systemctl enable ntpdate 在ntpd服务进程启动的时候,可以使用ntpstat命令获取系统每次校正时间的间隔: