qos

Kubernetes1.3:QoS服务质量管理

我与影子孤独终老i 提交于 2020-02-28 20:40:55
Kubernetes1.3:QoS 服务 质量管理 在kubernetes中,每个POD都有个QoS标记,通过这个Qos标记来对POD进行 服务 质量管理 。QoS的英文全称为"Quality of Service",中文名为"服务质量",它取决于用户对服务质量的预期,也就是期望的服务质量。对于POD来说,服务质量体现在两个指标上,一个指标是CPU,另一个指标是 内存 。在实际运行过程中,当NODE节点上内存资源紧张的时候,kubernetes根据POD具有的不同QoS标记,采取不同的处理策略。 在Kubernetes中,POD的QoS 服务 质量 一共有三个级别,如下图所示: 这三个QoS级别介绍,可以看下面表格: QoS级别 QoS介绍 BestEffort POD中的所有容器都没有指定CPU和内存的requests和limits,那么这个POD的QoS就是BestEffort级别 Burstable POD中只要有一个容器,这个容器requests和limits的设置同其他容器设置的不一致,那么这个POD的QoS就是Burstable级别 Guaranteed POD中所有容器都必须统一设置了limits,并且设置参数都一致,如果有一个容器要设置requests,那么所有容器都要设置,并设置参数同limits一致,那么这个POD的QoS就是Guaranteed级别

android2.3与android2.2的差别 --sip

时光怂恿深爱的人放手 提交于 2020-02-28 20:36:17
新增android.net.sip包,名为SipManager类,可以轻松开发基于Sip的Voip应用。同时使用时必须至少包含这两个权限 <uses-permission android:name="android.permission.INTERNET"> and <uses-permission android:name="android.permission.USE_SIP">,如果需要在Market上过滤仅显示支持VoIP API的机型,可以在发布时androidmanifest.xml中加入 <uses-feature android:name="android.software.sip" android:required="true"> 和 <uses-feature android:name="android.software.sip.voip"> 这两个标志。 实时IP呼叫和多媒体通信是下一代网络(NGN)业务提供的重要方面。H.323和SIP(session Initiation protoco1)都是实现VolP和多媒体应用的通信协议。基于纯IP的SIP协议是用于创建、修改、终止IP网上的多媒体会议或呼叫的应用层控制协议,它借鉴了HTTP协议和SMTP协议,结构简单并具有可扩充性和可扩展性。SIP在全面满足(下一代网络)NGN特性要求的应用上具有独特的优势

logback日志的基本使用

蹲街弑〆低调 提交于 2020-02-27 04:45:18
logback的日志使用,有两种方式,可以在application.yml文件中配置,不过最常见的还是用一个单独的xml配置文件进行配置: 一、application.yml配置方式 logging: pattern: console: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n" file: "E:/360WiFi/warpper.log" 二、logback配置文件 在resource跟路径下新增logback.xml配置文件: <?xml version="1.0" encoding="UTF-8"?> <configuration debug="false"> <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--> <property name="LOG_HOME" value="D:/logback" /> <!-- 控制台输出 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化输出:%d表示日期,

快速上手和理解物联网开发平台

孤者浪人 提交于 2020-02-22 16:43:29
快速理解和上手物联网开发平台 文章目录 快速理解和上手物联网开发平台 导读 关于物联网 关于本课程 自我介绍 本文介绍 一、深入了解 MQTT 协议 1.1 MQTT 协议简介与基本概念 1.2 MQTT 主题 1.3 MQTT 控制报文格式 1.3.1 固定报文头 1.3.2 可变报文头 1.3.3 有效负载 1.4 MQTT 控制报文 1.4.1 CONNECT 1.4.2 PUBLISH 1.5 消息服务质量 QoS 1.6 MQTT 与传统 MQ 对比 二、走进 EMQX 2.1 认证访问控制 2.2 插件系统 2.3 共享订阅 2.4 系统主题 2.5 管理监控 API 2.6 EMQX 集群 三、 MQTT Client 库实践 3.1 建立连接 3.2 订阅主题 3.3 发布消息 四、 MySQL 认证和访问控制 4.1 MySQL 认证 4.2 主题设计 4.3 MySQL 访问控制 五、 处理设备上行数据 5.1 共享订阅 5.1.1 共享订阅主题设计 5.1.2 共享订阅客户端权限控制 5.1.3 消息流转 5.1.4 实现 5.2 WebHook 机制 5.3 消息去重 六、下行数据处理方案 七、功能规划和实现 7.1 EMQX 集群 7.2 设备生命周期管理 7.2.1 设备动态注册 7.2.2 设备上下线状态管理 7.2.3 设备删除与禁用 7.3

spring boot日志配置

梦想与她 提交于 2020-02-15 06:40:44
spring boot的application.properties提供了日志的配置,但我还是习惯于老的logback的使用方式。以下内容介绍如何在springboot中使用自定义的logback。 1、在src/main/resources目录下创建logback.xml文件,内容如下: <!-- Logback configuration. See http://logback.qos.ch/manual/index.html --> <configuration scan="true" scanPeriod="10 seconds"> <include resource="org/springframework/boot/logging/logback/base.xml" /> <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>${LOG_PATH}/info.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LOG_PATH}/info-%d{yyyyMMdd}.log.%i <

谈谈日志

回眸只為那壹抹淺笑 提交于 2020-02-11 11:06:51
谈谈日志: 一般而言,一个接口或者一段程序,其入口要有日志,记录传入的数据是什么; 部分重要的处理逻辑要有日志; 程序出口也要有日志,记录其最终的处理结果。 这样在解决生产上的问题时,方便定位问题。比凭空想象的好。 还有一点就是生产环境上严禁使用System.out输出,性能很低。原因是其输出会导致线程等待。 而使用Logger在输出日志时是异步的。 在记录日志时不要用+号连接日志内容 比如log.info("ddd"+abc); 而要用log.info("ddd{}",abc);这样可以减少创建的字符串对象。 一个spring boot的日志配置示例如下 <?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 应用名称 --> <springProperty scope="context" name="app_name" source="spring.application.name"/> <!-- 日志文件保存路径 --> <property name="log_home" value="logs" /> <!-- 控制台日志:输出全部日志到控制台 --> <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">

logback的使用

你说的曾经没有我的故事 提交于 2020-02-04 14:41:21
1 问题: 1 只有重新部署时才有日志文件生成; 2 第二天的文件会生成在前一天中; 2最终测试正常的logback配置,还是需要指定触发机制,何时生成日志,默认是部署时触发 <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--日志文件输出的文件名--> <FileNamePattern>${LOG_HOME}/web.log.%d{yyyy-MM-dd}.%i.log</FileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>1000MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--日志文件保留天数--> <MaxHistory>10</MaxHistory> </rollingPolicy> <encoder class="ch.qos

MQTT基础

南笙酒味 提交于 2020-01-31 00:42:58
MQTT拥有14种不同的消息类型: CONNECT:客户端连接到MQTT代理 CONNACK:连接确认 PUBLISH:新发布消息 PUBACK:新发布消息确认,是QoS 1给PUBLISH消息的回复 PUBREC:QoS 2消息流的第一部分,表示消息发布已记录 PUBREL:QoS 2消息流的第二部分,表示消息发布已释放 PUBCOMP:QoS 2消息流的第三部分,表示消息发布完成 SUBSCRIBE:客户端订阅某个主题 SUBACK:对于SUBSCRIBE消息的确认 UNSUBSCRIBE:客户端终止订阅的消息 UNSUBACK:对于UNSUBSCRIBE消息的确认 PINGREQ:心跳 PINGRESP:确认心跳 DISCONNECT:客户端终止连接前优雅地通知MQTT代理 来源: CSDN 作者: LittleAshes 链接: https://blog.csdn.net/weixin_41746317/article/details/104118484

从零开始入门 K8s | Kubernetes 调度和资源管理

泪湿孤枕 提交于 2020-01-28 11:07:39
作者 | 子誉 蚂蚁金服高级技术专家 关注“阿里巴巴云原生”公众号,回复关键词 “入门” ,即可下载从零入门 K8s 系列文章 PPT。 Kubernetes 调度过程 搜小说 https://biqi.org/ 首先来看第一部分 - Kubernetes 的调度过程。如下图所示,画了一个很简单的 Kubernetes 集群架构,它包括了一个 kube-ApiServer,一组 Web-hook Controllers,以及一个默认的调度器 kube-Scheduler,还有两台物理机节点 Node1 和 Node2,分别在上面部署了两个 kubelet。 我们来看一下,假如要向这个 Kubernetes 集群提交一个 pod,它的调度过程是什么样的一个流程? 假设我们已经写好了一个 yaml 文件,就是下图中的橙色圆圈 pod1,然后往 kube-ApiServer 里提交这个 yaml 文件。 此时 ApiServer 会先把这个待创建的请求路由给我们的 webhook Controllers 进行校验。 通过校验之后,ApiServer 会在集群里面生成一个 pod,此时生成的 pod,它的 nodeName 是空的,并且它的 phase 是 Pending 状态。在生成了这个 pod 之后,kube-Scheduler 以及 kubelet 都能 watch 到这个 pod

Kubernetes Pod 驱逐详解

孤者浪人 提交于 2020-01-27 00:56:40
原文链接: Kubernetes Pod 驱逐详解 在 Kubernetes 中,Pod 使用的资源最重要的是 CPU、内存和磁盘 IO,这些资源可以被分为可压缩资源(CPU)和不可压缩资源(内存,磁盘 IO)。可压缩资源不可能导致 Pod 被驱逐,因为当 Pod 的 CPU 使用量很多时,系统可以通过重新分配权重来限制 Pod 的 CPU 使用。而对于不可压缩资源来说,如果资源不足,也就无法继续申请资源(内存用完就是用完了),此时 Kubernetes 会从该节点上驱逐一定数量的 Pod,以保证该节点上有充足的资源。 当不可压缩资源不足时,Kubernetes 是通过 kubelet 来驱逐 Pod 的。kubelet 也不是随机驱逐的,它有自己的一套驱逐机制,每个计算节点的 kubelet 都会通过抓取 cAdvisor 的指标来监控节点的资源使用量,下面我们来具体分析每种情况。 1. 存储资源不足 下面是 kubelet 默认的关于节点存储的驱逐触发条件: nodefs.available<10%(容器 volume 使用的文件系统的可用空间,包括文件系统剩余大小和 inode 数量) imagefs.available<15%(容器镜像使用的文件系统的可用空间,包括文件系统剩余大小和 inode 数量) 当 imagefs 使用量达到阈值时,kubelet