华为云用户手册
-
参数描述 表1 结构体HwmConfInfo参数说明 参数 类型 描述 url char[] 当前会议链接,可以分享通过浏览器打开进行入会。 confId char[] 会议id。 role HwmConfRole 会议角色。主持人、普通与会者等。 chairmanPwd char[] 会议主持人密码。 generalPwd char[] 会议来宾密码。 subject char[] 会议主题。 isOtherCorpConf bool 是否是外部企业的会议。如果是加入外部企业的会议或者匿名入会是true,否则是false。 isCreator bool 是否是会议预订者。 isInBreakoutSubConf bool 是否在讨论组中。 customInfo char[] 自定义扩展信息 表2 枚举HwmConfRole说明 枚举值 描述 HWM_CONF_ROLE_ATTENDEE 普通与会者。 HWM_CONF_ROLE_CHAIRMAN 主持人。 HWM_CONF_ROLE_AUDIENCE 观众。 HWM_CONF_ROLE_COHOST 联席主持人。 HWM_CONF_ROLE_WAITING 等候室成员。
-
EditConf 接口描述 该接口用于编辑已预约的会议。 注意事项 该接口在已登录状态下才能调用。 调用该接口时,仅能编辑尚未开始的会议,若会议已召开,接口将返回失败。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 所有字段必填,编辑会议前需要查询会议详情,不需要变更的数据请使用查询会议详情返回的数据赋值。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode EditConf(const HwmEditConfParam *confParam); 回调函数 1 virtual void OnEditConfResult(hwmsdk::HwmErrCode ret, const char* reason) {}; 参数描述 表1 结构体HwmEditConfParam参数说明 参数 是否必须 类型 描述 confId 是 char[] 会议ID。 subject 是 char[] 会议主题。 startTime 是 long long 会议开始时间时间戳(utc时间),second。 说明: UTC时间与UTC偏移量(转换为秒)的差值,如东八区为 UTC时间戳 - (8 * 60 * 60) duration 是 int 会议时长,minute。 confType 是 HwmConfMediaType 会议类型。默认视频会议。 isNeedConfPwd 是 bool 是否需要密码。默认不需要密码。 isRecordOn 是 bool 录制会议开关。(字段即将废弃,不建议使用) isLiveOn 否 bool 保留。编辑会议时透传会议详情此字段。 isAutoRecordOn 是 bool 会议自动录制开关。 timeZone 是 int 时区码,请参考时区表。 vmrFlag 是 bool 是否是vmr会议。不可修改,填入会议详情返回值(废弃) vmrId 否 char[] 云会议室唯一ID。不可修改,填入会议详情返回值 joinConfRestrictionType 是 HwmJoinConfPermissionType 允许入会范围限制。默认所有用户。 isSmsOn 是 bool 发送短信通知开关,企业配置里面需要开启,否则不生效。 isMailOn 是 bool 发送邮件通知开关。 isEmailCalendarOn 是 bool 发送邮件日历开关。 attendees 是 HwmAttendeeInfo* 与会者列表。 attendeeLen 是 unsigned int 与会者列表长度。 vmrConfIdType 是 HwmVmrConfIdType 云会议室的会议ID类型。不可修改,会议详情中vmrConferenceId非空,填入HWM_VMR_CONF_ID_TYPE_FIXED;会议详情中vmrConferenceId为空,填入HWM_VMR_CONF_ID_TYPE_RANDOM isOpenWaitingRoom 否 bool 等候室开启开关 说明: 需要等候室功能开通后才能生效 allowGuestStartConf 否 bool 是否允许来宾提前启动会议。 说明: 仅针对随机会议ID的会议生效。 固定会议ID的会议,请使用修改云会议室信息接口设置。 allowGuestStartConfTime 否 unsigned int 允许来宾提前入会时间范围(单位:分钟) :0-随时,n-提前n分钟启动会议。 concurrentParticipants 否 unsigned int 会议方数,会议最大与会人数限制。 注:不填则不限制 customInfo 否 char[] 自定义扩展信息 defaultSummaryState 否 HwmSummaryState 会议云录制是否包含纪要,初始值。 autoMuteMode 否 HwmAutoMuteType 来宾入会,软终端是否自动静音。 hardTerminalAutoMuteMode 否 HwmAutoMuteType 来宾入会,硬终端是否自动静音。 返回值 表2 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 示例代码 1 2 3 4 5 6 7 8 91011121314151617181920212223 /*** 编辑会议接口*/int demoEditConfDlg::EditConf(){ hwmsdkagent::HwmConfDetail confDetail{0}; //从缓存中得到会议详情数据赋予confDetail hwmsdkagent::HwmEditConfParam editConfParam{ 0 }; //根据实际需求拷贝confDetail的数据 strncpy_s(editConfParam.confId, confDetail.confListInfo.confId, HWM_MAX_CONF_ID_LEN); editConfParam.vmrFlag = confDetail.vmrFlag; strncpy_s(editConfParam.vmrId, confInfo.vmrId, HWM_MAX_VMR_CONF_ID_LEN); // 此处省略部分赋值代码 editConfParam.timeZone = 56; // 本地时区,用户依据自身情况自己调整,56东八区 editConfParam.isRecordOn = false; editConfParam.isAutoRecordOn = false; editConfParam.startTimeStamp = 1598398920; //utc时间戳 editConfParam.duration = 0 * 60 + 30;//会议时长 editConfParam.joinConfRestrictionType = hwmsdkagent::HwmJoinConfPermissionType::RESTRICTION_CALL_IN_ALL; //取编辑会议上面的允许入会用户类型 // vmrConferenceId非空是固定ID,为空则是随机id editConfParam.vmrConfIdType = (strlen(confInfo.confListInfo.vmrConferenceId) != 0) ? hwmsdkagent::HwmVmrConfIdType::HWM_VMR_CONF_ID_TYPE_FIXED : hwmsdkagent::HwmVmrConfIdType::HWM_VMR_CONF_ID_TYPE_RANDOM; return hwmsdkagent::EditConf(&editConfParam);}
-
GetVmrList 接口描述 该接口用于获取VMR列表。 注意事项 该接口在已登录状态下才能调用。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode GetVmrList(); 回调函数 该接口已废弃,请参考新回调OnGetVmrInfoListResult 1 virtual void OnGetVmrListResult(hwmsdk::HwmErrCode ret, const char* reason, const HwmVmrInfo* vmrInfoList, unsigned int listLen) {}; 新回调 1 virtual void OnGetVmrInfoListResult(hwmsdk::HwmErrCode ret, const char* reason, const HwmVmrListInfo* vmrListInfo) {}; 参数描述 无。 返回值 表1 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 表2 结构体HwmVmrInfo参数说明 参数 类型 描述 vmrConferenceId char[] 云会议室上的固定会议ID。 vmrId char[] 云会议室唯一ID。 chairmanPwd char[] 云会议室主持人密码。 guestPwd char[] 云会议室来宾密码。 type HwmVmrIdType 云会议室类型。 maxParties int 云会议室最大方数。 name char[] 会议室名称。 allowGuestStartConf bool 是否允许来宾提前启动会议。 joinConfRestrictionType HwmJoinConfPermissionType 允许入会范围限制。 isOpenWaitingRoom bool 等候室开启开关。 表3 枚举HwmVmrIdType说明 枚举值 描述 PERSONAL_MEETING_ID 个人会议ID。 CLOUD_MEETING_ROOM_ID 云会议室ID。 表4 结构体HwmVmrListInfo参数说明 参数 类型 描述 numOfVmrs unsigned int 云会议室个数。 vmrs HwmVmrInfo 云会议室信息。 isEnableShareVmr bool 是否开启共享vmr。 示例代码 1 2 3 4 5 6 7 8 91011 /*** 获取Vmr列表*/void demoBookConfDlg::GetVmrList(){ int ret = hwmsdkagent::GetVmrList(); if (hwmsdk::HWM_COMMON_SUC CES S != ret) { AfxMessageBox(_T("GetVmrList error")); }}
-
常见错误码 表1 HwmErrCode枚举说明 变量 值 描述 HWM_COMMON_ERR_FAILED 1 通用错误。 HWM_COMMON_ERR_PA RAM _ERROR 2 参数错误。 HWM_ LOG IN_ERR_ACCOUNT_OR_PASSWORD_ERROR 10006 账号或密码错误。 HWM_LOGIN_ERR_ACCOUNT_LOCKED 10007 账号被锁定。 HWM_LOGIN_ERR_IP_OR_DEVICE_FORBIDDEN 10008 IP或设备被禁止接入。 HWM_LOGIN_ERR_ACCOUNT_OR_ENTERPRISE_NOT_ACTIVE 10009 账号或企业未激活。 HWM_LOGIN_ERR_AUTH_INFO_TIMEOUT 10011 鉴权信息过期(是否使用UTC时间,是否经过校准)。 HWM_LOGIN_ERR_ACCOUNT_STOPED 10013 账号被停用 HWM_CONF_ERR_CONF_ID_OR_PASSWORD_ERROR 20001 会议id或密码错误。 HWM_CONF_ERR_CONF_LOCKED 20002 会议被锁定。 HWM_CONF_ERR_NOT_IN_CONF 20003 不在会议中,接口调用非法。 HWM_CONF_ERR_VMR_NOT_BEEN_HOLD 20004 VMR会议,来宾不允许激活会议 HWM_CONF_ERR_SHARE_LOCKED 20005 共享被锁定 HWM_CONF_ERR_NOT_IN_DATA_CONF 20006 不在数据会议中 HWM_CONF_ERR_CONF_ONLY_SAME_ENTERPRISE 20007 只允许企业内用户加入会议 HWM_CONF_ERR_CONF_ONLY_INVITED 20008 只允许被邀请者加入会议 HWM_CALL_ERR_THIRD_USER_ID_NO_EXIST 20009 发起呼叫的第三方账号不存在 HWM_ERR_NOT_IN_CONF_OR_CALL 20010 不在会议或呼叫中 HWM_ERR_ALREADY_EXIST_CONF_OR_CALL 20011 已存在一路会议或呼叫 HWM_CONF_ERR_PASSWORD_ERROR_LOCKED 20012 多次输入密码错误导致会议暂时被锁定 HWM_CONF_ERR_CONF_ENDED 20013 会议已结束 HWM_CONF_ERR_SAME_PWD_WITH_CHAIR 20014 来宾密码与主持人密码相同 HWM_CONF_ERR_NUM_OF_PAR_EXCEEDS_UPPER_LIMIT 20015 与会方超出专用VMR套餐的最大与会人数 HWM_CONF_ERR_CONF_NOT_ON_LOCAL_STATION 20016 会议不在本站点 HWM_CONF_ERR_ENTERPRISE_CONCURRENCY_RESOURCE_NOT_ENOUGH 115022001 企业并发资源不足 HWM_CONF_ERR_CONF_DATA_NOT_FOUND 111070005 会议不存在 HWM_CONF_ERR_VMR_DATA_NOT_FOUND 111070006 个人云会议室不存在 HWM_CONF_ERR_CONF_ROLE_AUTHENTICATION_FAILED 111070010 权限不足,无法查看会议 HWM_CONF_ERR_VMR_CONF_CONFLICT 111071106 VMR会议冲突 HWM_CONF_ERR_MODIFY_FAIL_AS_CONF_ALREADY_STARTED 111071065 正在召开会议,无法编辑会议详情 HWM_ORG_CONCURRENT_PARTICIPANTS_NUMBER_IS_ZERO 111071060 企业未配置并发会议资源,无法使用个人会议ID和随机会议ID发起会议 HWM_CONF_USER_NOT_VMR_OWNER 111071063 非云会议室拥有者 HWM_CONF_ERR_CANCEL_FAIL_AS_CONF_STARTED 111071067 会议正在召开中,不允许取消会议 HWM_CONF_ERR_START_TIME_LESS_THAN_CURRENT_TIME 111071013 开始时间早于当前时间 HWM_CONF_ERR_START_TIME_OVER_MAX_SCHEDULE_TIME 111071014 会议开始时间超出最大预订时间范围 HWM_CONF_ERR_VMR_PWM_SAME_AS_MEETING_ID 201080017 来宾密码不能和会议ID相同 HWM_CONF_ERR_PARTICIPANT_CONF_NOT_SUPPORT 111084013 不支持该会议 HWM_CONF_ERR_ATTENDEES_NUMBER_EXCEED_LIMIT 111071066 与会方数量超出上限 HWM_CONF_ERR_VMR_DATA_STATUS_ILLEGAL 111073007 VMR套餐状态非法 HWM_CONF_ERR_WAIT_APPLY_RESOURCE 115029006 等待申请资源中 HWM_CONF_ERR_SDK_SVN_DETECT_FAILE 411000017 svn端口探测不通 HWM_CONF_ERR_RTC_NOT_SUPPORT_STG 411000019 RTC不支持STG模式 HWM_CONF_ERR_OVER_MAX_PARTICIPANT_NUMBER 111072101 超过设置的会议方数 HWM_CONF_ERR_AUDIENCE_VMR_LOGIC_RESOURCE_NOT_ENOUGH 111072202 观众数超过VMR套餐中的观众最大并发资源数 HWM_CONF_ERR_PARTICIPANT_VMR_LOGIC_RESOURCE_NOT_ENOUGH 111072203 主持人与嘉宾超过VMR套餐中的最大并发资源数 HWM_CONF_ERR_PARTICIPANT_CONF_NOT_EXIST 111081002 会场所在会议不存在或已结束 HWM_VMR_RESOURCE_UNAVAILABLE 201080000 云会议资源不可用 HWM_LOGIN_ERR_ACCOUNT_IS_UNBOUND 206010075 账号已经解绑 HWM_CONF_ERR_SERVER_ERROR 990000018 连接不上服务器 HWM_CONF_ERR_JOIN_ROOM_FAIL 990000019 无法加入会议 HWM_CONF_ERR_SERVER_BUSY 990000020 服务器繁忙 HWM_CONF_ERR_RTC_JOIN_ROOM_AUTH_FAIL 990000022 会议鉴权信息校验失败 HWM_CONF_ERR_SERVER_CONNECTION_ERROR 990000025 服务器连接异常 HWM_LOGIN_ERR_CA_VERIFY_FAILED 412100012 服务器CA证书校验失败 HWM_LOGIN_ERR_CURLE_EXTERN_CONNECT_TIMEOUT 412100017 代理通信超时,tcp建链失败,大概率是代理配置错误 HWM_LOGIN_ERR_CURLE_EXTERN_CLOSED_BY_PROXY 412100018 链接被代理断开,大概率是服务器地址配置错误 HWM_LOGIN_ERR_CURLE_COULDNT_RESOLVE_PROXY 412100024 proxy 域名 解析失败 HWM_LOGIN_ERR_CURLE_COULDNT_RESOLVE_HOST 412100025 服务器域名解析失败 HWM_LOGIN_E_ERR_MNG_FAILED 412100044 管理面故障 HWM_AGENT_ERR_CALLBACK_TIMEOUT 90001 等待回调超时 HWM_AGENT_ERR_IN_PROCESS 90002 接口正在处理中 HWM_AGENT_ERR_NOT_LOGIN 90003 未登录,接口调用非法。 HWM_AGENT_ERR_NOT_INITED_END 90004 未初始化或初始化尚未完成 HWM_AGENT_ERR_NOT_SUPPORT_END 90005 此版本不支持 HWM_AGENT_ERR_OPERATION_INTERRUPT 90012 操作中断 父主题: 错误码参考
-
SetConfIncomingAnswerResult 接口描述 该接口用于收到会议来电时设置应答。一般用于设置会议来电的自动拒绝或者自动接听。 注意事项 只有在收到会议来电后才能调用该接口(在通知接口OnConfIncoming中调用),其他情况不应调用该接口。 调用该接口设置应答类型:弹窗选择、拒绝、接听。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 如果是自动拒接来电,需要在Init初始化成功后,需要调用Config接口将isHideConfIncomingWindow设置成TRUE。 需要拒接时SetCallIncomingAnswerResult的参数传HWM_INCOMING_ANSWER_DECLINE,需要正常弹窗接听时传HWM_INCOMING_ANSWER_NORMAL。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode type(HWMInComingAnswerType type); 回调函数 1 virtual void OnSetConfIncomingAnswerResult(hwmsdk::HwmErrCode ret, const char* reason) {}; 参数描述 表1 枚举HWMInComingAnswerType说明 枚举值 描述 HWM_INCOMING_ANSWER_NORMAL 来电时应答采用原始体验弹窗选择。 HWM_INCOMING_ANSWER_DECLINE 来电时拒接 HWM_INCOMING_ANSWER_ANSWER 来电时接听 返回值 表2 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 示例代码 1 2 3 4 5 6 7 8 9101112 /*** 收到会议来电后拒接来电*/void demoConfCtrlDlg::OnBnClickedSetConfIncomingAnswerResult(){ hwmsdkagent::HWMInComingAnswerType type = HWM_INCOMING_ANSWER_DECLINE; int ret = hwmsdkagent::SetConfIncomingAnswerResult(type); if (hwmsdk::HWM_COMMON_SUCCESS != ret) { AfxMessageBox(_T("SetConfIncomingAnswerResult error")); }}
-
70.4.5更新内容 1.预约会议接口添加返回值参数说明,具体请见表3 2.sdk初始化约束,限制初始化必须在Application的OnCreate主线程中执行 3.新增获取用户当前状态接口,具体请见获取用户状态 4.会中新增主持人邀请他人共享,主持人也可快速取消共享 5.移动端的前后摄像头切换按钮放到主界面上 6.会议日志大小优化 7.libs文件夹中aar文件整合,使用时需先清空之前历史版本文件,重新导入 父主题: 版本更新内容
-
步骤三:修改客户端配置文件 替换证书后,需要在客户端的“consumer.properties”和“producer.properties”文件中,分别修改“ssl.truststore.location”和“ssl.truststore.password”参数。 security.protocol=SASL_SSLssl.truststore.location=/opt/kafka_2.12-2.7.2/config/client.truststore.jksssl.truststore.password=dms@kafkassl.endpoint.identification.algorithm= ssl.truststore.location配置为client.truststore.jks证书的存放路径。 ssl.truststore.password为客户端证书的Truststore密码。 ssl.endpoint.identification.algorithm为证书域名校验开关,为空则表示关闭。这里需要保持关闭状态,必须设置为空。
-
步骤三:添加DNAT规则 在“公网NAT网关”页面,在新购买的公网NAT网关后,单击“设置规则”,进入公网NAT网关详情页。 在“DNAT规则”页签,单击“添加DNAT规则”,弹出“添加DNAT规则”对话框。 图3 公网NAT网关详情页 设置如下参数。 使用场景:选择“虚拟私有云” 端口类型:选择“具体端口” 支持协议:选择“TCP” 公网IP类型:选择“弹性公网IP”,在下拉框中选择已购买的弹性公网IP 公网端口:输入“9011” 实例类型:选择“自定义” 私网IP:输入获取Kafka实例的信息中记录的Kafka实例的一个内网连接地址 私网端口:输入“9011” 如果想要了解更多的参数信息,请参考添加DNAT规则。 图4 添加DNAT规则 单击“确定”,完成DNAT规则的添加。 DNAT规则添加成功后,在DNAT规则列表中查看此规则的状态,若“状态”为“运行中”,表示创建成功。 为获取Kafka实例的信息中记录的其他内网连接地址创建DNAT规则,每个DNAT规则需要设置不同的弹性公网IP。 创建DNAT规则的具体步骤参考2~4。 DNAT规则全部创建成功后,在“DNAT规则”页签,查看已创建的DNAT规则,并记录私网IP对应的弹性公网IP。 图5 DNAT规则列表
-
步骤五:验证接口连通性 参考使用客户端连接Kafka(关闭SASL)或者使用客户端连接Kafka(开启SASL),测试是否可以生产和消费消息。 测试接口连通性时,注意以下几点: 连接Kafka实例的地址为“advertised.listeners IP:9011”,以图6为例,连接Kafka实例的地址为“124.xxx.xxx.167:9011,124.xxx.xxx.174:9011,124.xxx.xxx.57:9011”。 在Kafka实例安全组的入方向规则中放通9011端口。 连接Kafka实例的客户端已开启公网访问功能。
-
producer使用建议 同步复制客户端需要配合使用:acks=all 配置发送失败重试:retries=3 发送优化:对于时延敏感的信息,设置linger.ms=0。对于时延不敏感的信息,设置linger.ms在100~1000之间。 生产端的JVM内存要足够,避免内存不足导致发送阻塞。 时间戳设置为与当地时间一致,避免时间戳为未来时间导致消息无法老化。 尽量复用producer,不要频繁创建producer。当producer开启幂等时(生产者客户端3.0及之后的版本默认开启幂等),生产消息会在服务端创建生产者状态对象,若频繁创建producer,会导致服务端创建大量生产者状态对象后无法及时回收,服务端内存占用飙升,进而导致服务端性能急剧下降。如果不需要使用幂等功能,请将“enable.idempotence”设置为“false”。
-
前提条件 给用户组授权之前,请您了解用户组可以添加的DMS for Kafka系统策略,并结合实际需求进行选择,DMS for Kafka支持的系统策略及策略间的对比,请参见:DMS for Kafka系统策略。若您需要对除DMS for Kafka之外的其它服务授权, IAM 支持服务的所有策略请参见权限策略。 DMS for Kafka的权限与策略基于分布式消息服务DMS,因此在IAM服务中为用户组授予DMS for Kafka权限时,请选择并使用“DMS”的权限与策略。
-
DMS for Kafka资源 资源是服务中存在的对象。在DMS for Kafka中,资源包括:kafka,您可以在创建自定义策略时,通过指定资源路径来选择特定资源。 表1 DMS for Kafka的指定资源与对应路径 指定资源 资源名称 资源路径 kafka 实例 【格式】 DMS:*:*:kafka:实例ID 【说明】 对于实例资源,IAM自动生成资源路径前缀DMS:*:*:kafka: 通过实例ID指定具体的资源路径,支持通配符*。例如: DMS:*:*:kafka:*表示任意Kafka实例。
-
示例流程 图1 给用户授权DMS for Kafka权限流程 创建用户组并授权 在IAM控制台创建用户组,并授予DMS for Kafka的只读权限“DMS ReadOnlyAccess”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,切换至授权区域,验证权限: 在“服务列表”中选择分布式消息服务Kafka版,进入Kafka实例主界面,单击右上角“购买Kafka实例”,尝试购买Kafka实例,如果无法购买Kafka实例(假设当前权限仅包含DMS ReadOnlyAccess),表示“DMS ReadOnlyAccess”已生效。 在“服务列表”中选择云硬盘(假设当前策略仅包含DMS ReadOnlyAccess),若提示权限不足,表示“DMS ReadOnlyAccess”已生效。 在“服务列表”中选择分布式消息服务Kafka版(假设当前策略仅包含DMS ReadOnlyAccess),进入Kafka实例主界面,如果能够查看Kafka实例列表,表示“DMS ReadOnlyAccess”已生效。
-
DMS for Kafka请求条件 您可以在创建自定义策略时,通过添加“请求条件”(Condition元素)来控制策略何时生效。请求条件包括条件键和运算符,条件键表示策略语句的 Condition元素,分为全局级条件键和服务级条件键。全局级条件键(前缀为g:)适用于所有操作,服务级条件键(前缀为服务缩写,如dms:)仅适用于对应服务的操作。运算符与条件键一起使用,构成完整的条件判断语句。 DMS for Kafka通过IAM预置了一组条件键,例如,您可以先使用dms:ssl条件键检查Kafka实例是否开启SASL,然后再允许执行操作。下表显示了适用于DMS for Kafka服务特定的条件键。 表2 DMS for Kafka请求条件 DMS for Kafka条件键 运算符 描述 dms:connector Bool Null 是否开启Smart Connect dms:publicIP Bool Null 是否开启公网 dms:ssl Bool Null 是否开启SSL
-
DMS for Kafka自定义策略样例 如果系统预置的DMS for Kafka权限,不满足您的授权要求,可以创建自定义策略。自定义策略中可以添加的授权项(Action)请参考细粒度策略支持的授权项。 目前华为云支持以下两种方式创建自定义策略: 可视化视图创建自定义策略:无需了解策略语法,按可视化视图导航栏选择云服务、操作、资源、条件等策略内容,可自动生成策略。 JSON视图创建自定义策略:可以在选择策略模板后,根据具体需求编辑策略内容;也可以直接在编辑框内编写JSON格式的策略内容。 具体创建步骤请参见:创建自定义策略。下面为您介绍常用的DMS for Kafka自定义策略样例。 示例1:授权用户删除实例和重启实例 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "dms:instance:modifyStatus", "dms:instance:delete" ] } ]} 示例2:拒绝用户删除实例 拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先原则。 如果您给用户授予DMS FullAccess的系统策略,但不希望用户拥有DMS FullAccess中定义的删除实例权限,您可以创建一条拒绝删除实例的自定义策略,然后同时将DMS FullAccess和拒绝策略授予用户,根据Deny优先原则,则用户可以对DMS for Kafka执行除了删除实例外的所有操作。拒绝策略示例如下: { "Version": "1.1", "Statement": [ { "Effect": "Deny", "Action": [ "dms:instance:delete" ] } ]}
-
consumer使用建议 consumer的owner线程需确保不会异常退出,避免客户端无法发起消费请求,阻塞消费。 确保处理完消息后再做消息commit,避免业务消息处理失败,无法重新拉取处理失败的消息。 通常不建议对每条消息都进行commit,如果对每条消息都进行了commit,会导致OFFSET_COMMIT请求过多,进而导致CPU使用率过高。例如:如果一个消费请求拉取1000条消息,每条都commit,则commit请求TPS是消费的1000倍,消息体越小,这个比例越大。建议隔一定条数或时间,批量commit,或打开enable.auto.commit,这样设置会存在一个缺点,即在客户端故障时,可能丢失一部分缓存的消费进度,导致重复消费。请根据业务实际情况,设置批量commit。 consumer不能频繁加入和退出group,频繁加入和退出,会导致consumer频繁做rebalance,阻塞消费。 同一消费组内consumer数量不能超过该消费组订阅的分区总数,否则会有consumer拉取不到消息。 consumer需周期poll,维持和server的心跳,避免心跳超时,导致consumer频繁加入和退出,阻塞消费。 consumer拉取的消息本地缓存应有大小限制,避免OOM(Out of Memory)。 consumer session设置为30秒,session.timeout.ms=30000。 Kafka不能保证消费重复的消息,业务侧需保证消息处理的幂等性。 消费线程退出要调用consumer的close方法,避免同一个组的其他消费者阻塞session.timeout.ms的时间。 消费组名称开头不使用特殊字符(如#),使用特殊字符可能会导致 云监控 无法展示此消费组的监控数据。
-
迁移准备 配置网络环境。 Kafka实例分内网地址以及公网地址两种网络连接方式。如果使用公网地址,则消息生成与消费客户端需要有公网访问权限,并配置如下安全组。 表1 安全组规则 方向 协议 端口 源地址 说明 入方向 TCP 9094 Kafka客户端所在的IP地址或地址组 通过公网访问Kafka(明文接入)。 入方向 TCP 9095 Kafka客户端所在的IP地址或地址组 通过公网访问Kafka(密文接入)。 创建目标Kafka实例。 目标Kafka的规格不能低于原业务使用的Kafka规格。具体请参考购买Kafka实例。 在目标Kafka实例中创建Topic。 在目标Kafka实例上创建与原Kafka实例相同配置的Topic,包括Topic名称、副本数、分区数、消息老化时间,以及是否同步复制和落盘等。具体请参考创建Kafka Topic。
-
迁移方案三:先迁消费,再迁生产 指首先通过Smart Connect同步两个Kafka的消息,其次将消费端迁移到新Kafka,最后将生产端迁移到新Kafka。 本方案依赖于Smart Connect,Smart Connect实时同步源端和目标端的数据,但是消费进度是通过批处理同步的,可能会导致源端和目标端每个分区的消费进度存在0-100之间的差异,存在少量重复消费问题。此场景适用于生产端不可停止,端到端有时延要求,但是可以兼容少量重复消费的业务。 创建Kafka数据复制的Smart Connect任务,用于同步两个Kafka的消息。具体步骤请参见配置Kafka间的数据复制。 在Kafka控制台的“消息查询”页面,查看两个Kafka的最新消息是否一致,确认两个Kafka的同步进度是否一致。具体步骤请参见查看Kafka消息。 是,执行3。 否,在监控页面查看两个Kafka的“Kafka每分钟同步数据量”是否正常,如果正常,先等待两个Kafka的同步进度一致,然后执行3。 将消费客户端的Kafka连接地址修改为新Kafka实例的连接地址。 重启消费业务,使得消费者从新Kafka实例中消费消息。 观察消费者是否能正常从新Kafka实例中获取数据。 修改生产客户端,Kafka连接地址改为新Kafka实例的连接地址。 重启生产客户端,将生产业务迁移到新Kafka实例中。 生产业务迁移后,观察连接新Kafka实例的消费业务是否正常。 迁移结束。
-
约束与限制 如果“allow.everyone.if.no.acl.found”为“true”,且Topic未授权任何用户,此时所有的用户都可以订阅/发布此Topic。如果Topic已授权某一个或多个用户,此时只有授权的用户可以订阅/发布此Topic,其他未授权的用户不能订阅/发布此Topic。“allow.everyone.if.no.acl.found”在配置参数中修改。 如果“allow.everyone.if.no.acl.found”为“false”,初始用户(即首次开启密文接入时设置的用户)拥有订阅/发布Topic的权限,其他用户在未授权时不能订阅/发布Topic。“allow.everyone.if.no.acl.found”在配置参数中修改。 如果Topic同时设置了“默认用户”权限和单个用户权限,取两者的并集。 单机实例不支持设置Topic权限。
-
迁移方案二:同时消费,后迁生产 指消费者业务启用多个消费客户端,分别向原Kafka和新Kafka实例消费消息,然后将生产业务切到新Kafka实例,这样能确保所有消息都被及时消费。 本方案中消费业务会在一段时间内同时消费原Kafka和新Kafka实例。由于在迁移生产业务之前,已经有消费业务运行在新Kafka实例上,因此不会存在端到端时延的问题。但在迁移生产的开始阶段,同时消费原Kafka与新Kafka实例,会导致部分消息之间的生产顺序无法保证,存在消息乱序的问题。此场景适用于对端到端时延有要求,却对消息顺序不敏感的业务。 启动新的消费客户端,配置Kafka连接地址为新Kafka实例的连接地址,消费新Kafka实例中的数据。 原有消费客户端需继续运行,消费业务同时消费原Kafka与新Kafka实例的消息。 修改生产客户端,Kafka连接地址改为新Kafka实例的连接地址。 重启生产客户端,将生产业务迁移到新Kafka实例中。 生产业务迁移后,观察连接新Kafka实例的消费业务是否正常。 等待原Kafka中数据消费完毕,关闭原有消费业务客户端。 迁移结束。
-
迁移方案一:先迁生产,再迁消费 指先将生产消息的业务迁移到新的Kafka,原Kafka不会有新的消息生产。待原有Kafka实例的消息全部消费完成后,再将消费消息业务迁移到新的Kafka,开始消费新Kafka实例的消息。 本方案为业界通用的迁移方案,操作步骤简单,迁移过程由业务侧自主控制,整个过程中消息不会存在乱序问题,适用于对消息顺序有要求的场景。但是该方案中需要等待消费者业务直至消费完毕,存在一个时间差的问题,部分数据可能存在较大的端到端时延。 将生产客户端的Kafka连接地址修改为新Kafka实例的连接地址。 重启生产业务,使得生产者将新的消息发送到新Kafka实例中。 观察各消费组在原Kafka的消费进度,直到原Kafka中数据都已经被消费完毕。 将消费客户端的Kafka连接地址修改为新Kafka实例的连接地址。 重启消费业务,使得消费者从新Kafka实例中消费消息。 观察消费者是否能正常从新Kafka实例中获取数据。 迁移结束。
-
步骤二:开始诊断 单击“开始诊断”,在“诊断记录”区域,显示一条“状态”为“诊断中”的记录。 当“状态”变为“诊断成功”时,表示消息积压诊断已经完成。 在诊断记录所在行,单击“查看详情”,进入“诊断详情”页面。 在页面顶部查看消息组异常项、失败项和正常项的数量。在“诊断维度”区域,单击包含异常项的维度名称,例如:重平衡,查看导致异常的可能原因、受影响的分区或者broker,以及解决消息堆积的建议。 图3 诊断详情
-
测试结果 表2 测试结果 分区数 副本数 是否同步复制 batch.size 是否跨AZ生产 客户端消息生产速率 服务端CPU消耗(broker-0) 服务端CPU消耗(broker-1) 服务端CPU消耗(broker-2) 3 1 否 1KB 否 34128 58.10% 56.70% 53.30% 3 1 否 16KB 否 102399 24.10% 25.00% 23.30% 3 1 否 1KB 是 8523 17.20% 16.70% 18.80% 3 3 是 1KB 否 3981 60.00% 55.20% 50.00% 3 3 否 1KB 否 14468 86.70% 80.60% 86.20% 通过上表的测试结果,得出以下结论,仅供参考: 生产请求的batch.size变大16倍时,客户端消息生产速率增加,服务端CPU消耗减少。 同AZ生产和跨AZ生产相比,客户端消息生产速率增加,服务端CPU消耗也随之增加。 副本从1变成3时,客户端消息生产速率下降较多,服务端CPU消耗增加。 异步复制的Topic和同步复制的Topic相比,客户端消息生产速率增加,服务端CPU消耗也随之增加。
-
测试步骤 测试场景一:批处理大小 登录客户端服务器,进入“kafka_2.12-2.7.2/bin”目录下,执行以下脚本。 batch.size=1KB,执行脚本如下: ./kafka-producer-perf-test.sh --producer-props bootstrap.servers=192.168.0.69:9092,192.168.0.42:9092,192.168.0.66:9092 acks=1 batch.size=1024 linger.ms=0 --topic Topic-01 --num-records 8000000 --record-size 1024 --throughput 102400 执行结果如下: 8000000 records sent, 34128.673632 records/sec (33.33 MB/sec), 879.91 ms avg latency, 4102.00 ms max latency, 697 ms 50th, 2524 ms 95th, 2888 ms 99th, 4012 ms 99.9th. 客户端消息生产速率=34128 batch.size=16KB,执行脚本如下: ./kafka-producer-perf-test.sh --producer-props bootstrap.servers=192.168.0.69:9092,192.168.0.42:9092,192.168.0.66:9092 acks=1 batch.size=16384 linger.ms=0 --topic Topic-01 --num-records 100000000 --record-size 1024 --throughput 102400 执行结果如下: 100000000 records sent, 102399.318430 records/sec (100.00 MB/sec), 4.72 ms avg latency, 914.00 ms max latency, 1 ms 50th, 5 ms 95th, 162 ms 99th, 398 ms 99.9th. 客户端消息生产速率=102399 登录Kafka实例控制台,单击测试实例名称,进入实例详情页。 在左侧导航栏单击“监控”,进入监控页面。 在“节点”页签,查看服务端节点的CPU使用率。 图1 broker-0的CPU使用率(batch.size=1KB) CPU消耗=58.10% 图2 broker-0的CPU使用率(batch.size=16KB) CPU消耗=24.10% 图3 broker-1的CPU使用率(batch.size=1KB) CPU消耗=56.70% 图4 broker-1的CPU使用率(batch.size=16KB) CPU消耗=25% 图5 broker-2的CPU使用率(batch.size=1KB) CPU消耗=53.30% 图6 broker-2的CPU使用率(batch.size=16KB) CPU消耗=23.30% 测试场景二:是否跨AZ生产 登录客户端服务器,进入“kafka_2.12-2.7.2/bin”目录下,执行以下脚本。 客户端服务器和实例在相同的AZ中,执行脚本如下: ./kafka-producer-perf-test.sh --producer-props bootstrap.servers=192.168.0.69:9092,192.168.0.42:9092,192.168.0.66:9092 acks=1 batch.size=1024 linger.ms=0 --topic Topic-01 --num-records 8000000 --record-size 1024 --throughput 102400 执行结果如下: 8000000 records sent, 34128.673632 records/sec (33.33 MB/sec), 879.91 ms avg latency, 4102.00 ms max latency, 697 ms 50th, 2524 ms 95th, 2888 ms 99th, 4012 ms 99.9th. 客户端消息生产速率=34128 客户端服务器和实例在不同的AZ中,执行脚本如下: ./kafka-producer-perf-test.sh --producer-props bootstrap.servers=192.168.0.69:9092,192.168.0.42:9092,192.168.0.66:9092 acks=1 batch.size=1024 linger.ms=0 --topic Topic-01 --num-records 4000000 --record-size 1024 --throughput 102400 执行结果如下: 4000000 records sent, 8523.042044 records/sec (8.32 MB/sec), 3506.20 ms avg latency, 11883.00 ms max latency, 1817 ms 50th, 10621 ms 95th, 11177 ms 99th, 11860 ms 99.9th. 客户端消息生产速率=8523 登录Kafka实例控制台,单击测试实例名称,进入实例详情页。 在左侧导航栏单击“监控”,进入监控页面。 在“节点”页签,查看服务端节点的CPU使用率。 图7 broker-0的CPU使用率(客户端服务器和实例在相同的AZ中) CPU消耗=58.10% 图8 broker-0的CPU使用率(客户端服务器和实例在不同的AZ中) CPU消耗=17.20% 图9 broker-1的CPU使用率(客户端服务器和实例在相同的AZ中) CPU消耗=56.70% 图10 broker-1的CPU使用率(客户端服务器和实例在不同的AZ中) CPU消耗=16.70% 图11 broker-2的CPU使用率(客户端服务器和实例在相同的AZ中) CPU消耗=53.30% 图12 broker-2的CPU使用率(客户端服务器和实例在不同的AZ中) CPU消耗=18.80% 测试场景三:副本数 登录客户端服务器,进入“kafka_2.12-2.7.2/bin”目录下,执行以下脚本。 1副本,执行脚本如下: ./kafka-producer-perf-test.sh --producer-props bootstrap.servers=192.168.0.69:9092,192.168.0.42:9092,192.168.0.66:9092 acks=1 batch.size=1024 linger.ms=0 --topic Topic-01 --num-records 8000000 --record-size 1024 --throughput 102400 执行结果如下: 8000000 records sent, 34128.673632 records/sec (33.33 MB/sec), 879.91 ms avg latency, 4102.00 ms max latency, 697 ms 50th, 2524 ms 95th, 2888 ms 99th, 4012 ms 99.9th. 客户端消息生产速率=34128 3副本,执行脚本如下: ./kafka-producer-perf-test.sh --producer-props bootstrap.servers=192.168.0.69:9092,192.168.0.42:9092,192.168.0.66:9092 acks=1 batch.size=1024 linger.ms=0 --topic Topic-02 --num-records 4000000 --record-size 1024 --throughput 102400 执行结果如下: 4000000 records sent, 14468.325219 records/sec (14.13 MB/sec), 2069.99 ms avg latency, 7911.00 ms max latency, 846 ms 50th, 6190 ms 95th, 6935 ms 99th, 7879 ms 99.9th. 客户端消息生产速率=14468 登录Kafka实例控制台,单击测试实例名称,进入实例详情页。 在左侧导航栏单击“监控”,进入监控页面。 在“节点”页签,查看服务端节点的CPU使用率。 图13 broker-0的CPU使用率(1副本) CPU消耗=58.10% 图14 broker-0的CPU使用率(3副本) CPU消耗=86.70% 图15 broker-1的CPU使用率(1副本) CPU消耗=56.70% 图16 broker-1的CPU使用率(3副本) CPU消耗=80.60% 图17 broker-2的CPU使用率(1副本) CPU消耗=53.30% 图18 broker-2的CPU使用率(3副本) CPU消耗=86.20% 测试场景四:同步/异步复制 登录客户端服务器,进入“kafka_2.12-2.7.2/bin”目录下,执行以下脚本。 异步复制,执行脚本如下: ./kafka-producer-perf-test.sh --producer-props bootstrap.servers=192.168.0.69:9092,192.168.0.42:9092,192.168.0.66:9092 acks=1 batch.size=1024 linger.ms=0 --topic Topic-02 --num-records 4000000 --record-size 1024 --throughput 102400 执行结果如下: 4000000 records sent, 14468.325219 records/sec (14.13 MB/sec), 2069.99 ms avg latency, 7911.00 ms max latency, 846 ms 50th, 6190 ms 95th, 6935 ms 99th, 7879 ms 99.9th. 客户端消息生产速率=14468 同步复制,执行脚本如下: ./kafka-producer-perf-test.sh --producer-props bootstrap.servers=192.168.0.69:9092,192.168.0.42:9092,192.168.0.66:9092 acks=-1 batch.size=1024 linger.ms=0 --topic Topic-03 --num-records 1000000 --record-size 1024 --throughput 102400 执行结果如下: 1000000 records sent, 3981.937930 records/sec (3.89 MB/sec), 7356.98 ms avg latency, 19013.00 ms max latency, 6423 ms 50th, 14381 ms 95th, 18460 ms 99th, 18975 ms 99.9th. 客户端消息生产速率=3981 登录Kafka实例控制台,单击测试实例名称,进入实例详情页。 在左侧导航栏单击“监控”,进入监控页面。 在“节点”页面,查看服务端节点的CPU使用率。 图19 broker-0的CPU使用率(异步复制) CPU消耗=86.70% 图20 broker-0的CPU使用率(同步复制) CPU消耗=60% 图21 broker-1的CPU使用率(异步复制) CPU消耗=80.60% 图22 broker-1的CPU使用率(同步复制) CPU消耗=55.20% 图23 broker-2的CPU使用率(异步复制) CPU消耗=86.20% 图24 broker-2的CPU使用率(同步复制) CPU消耗=50%
-
测试环境 进行性能测试前,您需要先构建如下的测试环境: 购买一个Kafka实例,参数信息如下,其他参数保持默认,购买方法请参考购买Kafka实例。 区域:华北-北京四 可用区:可用区1 版本:2.7 部署架构:集群 代理规格:kafka.2u4g.cluster 代理数量:3 单代理存储空间:超高I/O,200GB 虚拟私有云:选择虚拟私有云 子网:选择子网 安全组:选择安全组 访问方式:保持默认 实例名称:kafka-test 企业项目:default 购买完成后,在实例详情页获取Kafka实例的内网明文连接地址。 在购买的Kafka实例中,创建如下参数的3个Topic,具体步骤请参考创建Kafka Topic。 Topic-01:3分区1副本,异步复制 Topic-02:3分区3副本,异步复制 Topic-03:3分区3副本,同步复制 获取测试工具。 获取Kafka命令行工具2.7.2版本。 购买客户端服务器。 购买如下参数的2台E CS 服务器,具体步骤请参考购买弹性云服务器。 区域、可用区、虚拟私有云、子网、安全组与Kafka实例保持一致,规格为4U8G,Linux系统的ECS。 区域、虚拟私有云、子网、安全组与Kafka实例保持一致,“可用区”为“可用区2”,规格为4U8G,Linux系统的ECS。 购买完成ECS后,需要在ECS中完成以下配置: 安装Java JDK,并配置JAVA_HOME与PATH环境变量。 export JAVA_HOME=/root/jdk1.8.0_231 export PATH=$JAVA_HOME/bin:$PATH 下载Kafka命令行工具2.7.2版本,并解压。 tar -zxf kafka_2.12-2.7.2.tgz
-
测试脚本 ./kafka-producer-perf-test.sh --producer-props bootstrap.servers=${连接地址} acks=1 batch.size=${batch.size} linger.ms=0 --topic ${Topic名称} --num-records ${num-records} --record-size 1024 --throughput 102400 bootstrap.servers:购买Kafka实例中获取的Kafka实例的地址。 acks:消息主从同步策略,acks=1表示异步复制消息,acks=-1表示同步复制消息。 batch.size:每次批量发送消息的大小(单位为字节)。 linger.ms:两次发送时间间隔。 topic:创建Topic中设置的Topic名称。 num-records:总共需要发送的消息数。 record-size:每条消息的大小。 throughput:每秒发送的消息数。
-
升级内核版本的影响 若Topic为单副本,升级期间无法对该Topic生产消息或消费消息,会造成业务中断。 若Topic为多副本,升级不会造成服务中断,但可能会导致消费的分区消息发生乱序,请谨慎评估业务影响,建议您在业务低峰期升级。 升级过程中会逐个节点升级,单个节点的升级包括两部分:升级软件包和数据同步。升级软件包耗时在5分钟左右,数据同步耗时取决于升级软件包过程中其他节点Leader副本的生产数据量,数据量越大,所需时间越久。升级总耗时=每个节点升级软件包耗时+数据同步耗时。 升级过程中会逐个节点重启监控进程,导致监控数据断点,重启成功后,监控数据恢复。 升级过程中节点滚动重启造成分区Leader切换,会发生秒级连接闪断,在用户网络环境稳定的前提下,Leader切换时长一般为1分钟以内。多副本的Topic需要在生产客户端配置重试机制,方法如下: 生产客户端为Kafka开源客户端时,检查是否配置retries参数,建议此参数值设置为3~5。 生产客户端为Flink客户端时,检查是否配置重启策略,配置重启策略可以参考如下代码。 StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, Time.seconds(20)));
-
修改定时升级任务 在“后台任务管理”页面的“定时任务”页签中,单击页面左上角下拉框,选择时间段,在搜索对话框中输入“版本升级”,按“Enter”,快速查找定时升级任务。 在待修改的定时升级任务后,单击“修改”。 在弹出的“修改定时任务”对话框中,您可以修改定时升级任务的时间,还可以取消定时升级任务,具体操作如下。 修改定时升级任务的时间:修改时间,单击“确定”。 取消定时升级任务:选择“取消”,单击“确定”。
-
操作影响 对数据量大的Topic进行分区平衡会占用大量的网络和存储带宽,业务可能会出现请求超时或者时延增大,建议在业务低峰期时操作。对Topic进行分区平衡前,根据Kafka实例规格对比当前实例负载情况,评估是否可以进行分区平衡,建议预留足够的带宽进行分区平衡,CPU使用率在90%以上时,不建议进行分区平衡。Topic的数据量和CPU使用率可以通过监控页面的“队列数据容量”和“CPU使用率”查看,具体步骤请参考查看Kafka监控数据。 带宽限制是指设定Topic进行副本同步的带宽上限,确保不会对该实例上的其他Topic造成流量冲击。但需要注意,带宽限制不会区分是正常的生产消息造成的副本同步还是分区平衡造成的副本同步,如果带宽限制设定过小,可能会影响正常的生产消息,且可能会造成分区平衡一直无法结束。如果分区平衡一直无法结束,请联系客服处理。 分区平衡任务启动后,不能删除正在进行分区平衡的Topic,否则会导致分区平衡任务无法结束。 分区平衡后Topic的metadata会改变,如果生产者不支持重试机制,会有少量的请求失败,导致部分消息生产失败。 数据量大的Topic进行分区平衡的时间会比较长。Topic的数据量可以通过监控页面的“队列数据容量”查看,具体步骤请参考查看Kafka监控数据。在不影响业务的前提下,建议适当调小Topic老化时间并等待消息老化,减少迁移数据,加快迁移速度。分区平衡任务结束后可重新调整为初始值。
-
CTS 支持的DMS for Kafka操作 表1 云审计 服务支持的DMS for Kafka操作列表 操作名称 资源类型 事件名称 创建DMS实例订单成功 kafka createDMSInstanceOrderSuccess 创建DMS实例任务执行成功 kafka createDMSInstanceTaskSuccess 创建DMS实例订单失败 kafka createDMSInstanceOrderFailure 创建DMS实例任务执行失败 kafka createDMSInstanceTaskFailure 删除创建失败的DMS实例成功 kafka deleteDMSCreateFailureInstancesSuccess 删除创建失败的DMS实例失败 kafka deleteDMSCreateFailureInstancesFailure 删除DMS实例任务执行成功 kafka deleteDMSInstanceTaskSuccess 删除DMS实例任务执行失败 kafka deleteDMSInstanceTaskFailure 批量删除DMS实例任务 kafka batchDeleteDMSInstanceTask 提交批量删除DMS实例请求成功 kafka batchDeleteDMSInstanceSuccess 批量删除DMS实例任务执行成功 kafka batchDeleteDMSInstanceTaskSuccess 提交批量删除DMS实例请求失败 kafka batchDeleteDMSInstanceFailure 批量删除DMS实例任务执行失败 kafka batchDeleteDMSInstanceTaskFailure 提交修改DMS实例订单请求成功 kafka modifyDMSInstanceOrderSuccess 提交修改DMS实例订单请求失败 kafka modifyDMSInstanceOrderFailure 提交扩容实例请求成功 kafka extendDMSInstanceSuccess 扩容DMS实例任务执行成功 kafka extendDMSInstanceTaskSuccess 提交扩容实例请求失败 kafka extendDMSInstanceFailure 扩容DMS实例任务执行失败 kafka extendDMSInstanceTaskFailure 提交重置DMS实例密码请求成功 kafka resetDMSInstancePasswordSuccess 提交重置DMS实例密码请求失败 kafka resetDMSInstancePasswordFailure 提交重启DMS实例请求成功 kafka restartDMSInstanceSuccess 重启DMS实例任务执行成功 kafka restartDMSInstanceTaskSuccess 提交重启DMS实例请求失败 kafka restartDMSInstanceFailure 重启DMS实例任务执行失败 kafka restartDMSInstanceTaskFailure 提交批量重启DMS实例请求成功 instance batchRestartDMSInstanceSuccess 批量重启DMS实例任务执行成功 kafka batchRestartDMSInstanceTaskSuccess 提交批量重启DMS实例请求失败 instance batchRestartDMSInstanceFailure 批量重启DMS实例任务执行失败 kafka batchRestartDMSInstanceTaskFailure 提交修改DMS实例信息请求成功 kafka modifyDMSInstanceInfoSuccess 修改DMS实例信息任务执行成功 kafka modifyDMSInstanceInfoTaskSuccess 提交修改DMS实例信息请求失败 kafka modifyDMSInstanceInfoFailure 修改DMS实例信息任务执行失败 kafka modifyDMSInstanceInfoTaskFailure 删除后台任务成功 kafka deleteDMSBackendJobSuccess 删除后台任务失败 kafka deleteDMSBackendJobFailure 开启Smart Connect任务执行成功 kafka createConnectorTaskSuccess 创建Smart Connect任务执行成功 kafka createConnectorSinkTaskSuccess 开启Smart Connect任务执行失败 kafka createConnectorTaskFailure 创建Smart Connect任务执行失败 kafka createConnectorSinkTaskFailure 冻结DMS实例任务执行成功 kafka freezeDMSInstanceTaskSuccess 冻结DMS实例任务执行失败 kafka freezeDMSInstanceTaskFailure 解冻DMS实例任务执行成功 kafka unfreezeDMSInstanceTaskSuccess 解冻DMS实例任务执行失败 kafka unfreezeDMSInstanceTaskFailure Kafka实例创建Topic成功 kafka Kafka_create_topicSuccess Kafka实例创建Topic失败 kafka Kafka_create_topicFailure Kafka实例删除Topic成功 kafka Kafka_delete_topicsSuccess Kafka实例删除Topic失败 kafka Kafka_delete_topicsFailure 开启自动创建Topic成功 kafka enable_auto_topicSuccess 开启自动创建Topic失败 kafka enable_auto_topicFailure 修改Topic成功 kafka Kafka_alter_topicsSuccess 修改Topic失败 kafka Kafka_alter_topicsFailure 执行Topic分区平衡任务成功 kafka kafka_reassignmentTaskSuccess 执行Topic分区平衡任务失败 kafka kafka_reassignmentTaskFailure 提交执行Topic分区平衡请求成功 kafka kafka_reassignmentSuccess 提交执行Topic分区平衡请求失败 kafka kafka_reassignmentFailure 重置消费组偏移量成功 kafka Kafka_reset_consumer_offsetSuccess 重置消费组偏移量失败 kafka Kafka_reset_consumer_offsetFailure 批量删除消费组成功 kafka Kafka_batch_delete_groupSuccess 批量删除消费组失败 kafka Kafka_batch_delete_groupFailure 创建用户成功 kafka createUserSuccess 创建用户失败 kafka createUserFailure 删除用户成功 kafka deleteUserSuccess 删除用户失败 kafka deleteUserFailure 更新用户策略成功 kafka updateUserPoliciesTaskSuccess 更新用户策略失败 kafka updateUserPoliciesTaskFailure 回收站恢复实例成功 kafka out_recycleTaskSuccess 回收站恢复实例失败 kafka out_recycleTaskFailure
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- ...
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333
推荐文章