关于observers:技术分享-observer-资源水位介绍

作者:郭斌斌 爱可生 DBA 团队成员,负责我的项目日常问题解决及公司平台问题排查。 本文起源:原创投稿 *爱可生开源社区出品,原创内容未经受权不得随便应用,转载请分割小编并注明起源。 OceanBase 集群界面会展现 Observer 的资源水位,明天简略理解一下资源水位的数值代表的含意以及关联参数 现有 test_1 集群,只有一个sys租户 Sys租户的资源配置: Cpu:2.5-5 Memory: 3G-3G Unit:1 集群的资源水位信息 以10.186.63.198为例,浅看一下cpu、内存、磁盘的含意以及相关联参数 cpu:2.5 / 17 核 2.5 代表 observer 上曾经调配给租户的 cpu 核数,该数值是 租户的 Min CPU 17 代表以后的observer可用的cpu数,通常observer会预留一部分cpu给操作系统,由参数cpu_reserved进行管制 验证:以后sys租户的 min cpu为 2.5,并且以后集群只有一个sys租户,因而资源水位cpu显示的是 2.5 10.186.63.198的服务器cpu 19个外围 集群的 cpu_reserved 因而除去操作系统应用cpu,以后 observer的cpu最多可用17核 内存:6.0/15.0GB 6.0GB 代表observer曾经调配进来的内存,该局部内存为租户内存 + 零碎外部内存(所有租户共享内存),零碎外部内存由 system_memory管制大小,租户内存由资源单元管制15GB 代表以后observer可用的内存总量,通常会预留一部分内存给操作系统应用,由 memory_limit / memory_limit_percentage管制。 验证:零碎外部内存大小 租户内存 零碎外部内存 + 租户内存=6G ...

April 11, 2023 · 1 min · jiezi

关于observers:OBS鉴权实现的宝典秘籍速拿

摘要:OBS提供了REST(Representational State Transfer)格调API,反对您通过HTTP/HTTPS申请调用。本文将带你理解OBS API鉴权实现的宝典秘籍。OBS提供了REST(Representational State Transfer)格调API,反对您通过HTTP/HTTPS申请调用。在调用OBS的API前,须要理解OBS的鉴权认证形式。 签名计算篇本文就将带您理解OBS的两种常见的鉴权形式——Header携带签名和URL携带签名。 1、在Header中携带签名计算官网链接:https://support.huaweicloud.c... 1.1、签名的计算原理和计算方法 原理图示 计算方法 1.结构申请字符串(StringToSign)。 申请字符串的构造方法如下: StringToSign = HTTP-Verb + "n" + Content-MD5 + "n" + Content-Type + "n" + Date + "n" + CanonicalizedHeaders + CanonicalizedResource 2.对第一步的后果进行UTF-8编码。 3.应用SK对第二步的后果进行HMAC-SHA1签名计算。 4.对第三步的后果进行Base64编码,失去签名。 签名如以下模式(28位长度的BASE64编码的字符串): JONydLd9zpf+Eu3IYiUjNmukHN0= 计算示例 例:须要获取桶”obs-test”下的对象log.conf的对象ACL,如何结构申请并计算签名? 1、首先明确StringToSign的各字段: 申请办法:GET; 申请MD5:空 Content-Type:空 申请工夫:Tue, 28 Jul 2020 06:29:47 GMT(即北京工夫2020年7月28日14:29:47) 自定义头域(CanonicalizedHeaders):空 规范化资源(CanonicalizedResource):/obs-test/log.conf?acl 2、结构申请字符串StringToSign如下: StringToSign = ‘’’GET Tue, 28 Jul 2020 06:29:47 GMT /obs-test/log.conf?acl’’’ 3、依据签名算法,将StringToSign进行HMAC-SHA1计算后进行BASE64编码取得签名后果:xYlcrwT9jSaCtY0OnBE01OBR+aA= 1.2、签名计算的实现形式 以Python计算签名代码为例,供参考: 1. import hashlib 2. import hmac 3. import binascii 4. from datetime import datetime 5. 6. # 验证信息 7. AK = '您的access_key_id' 8. SK = '您的secret_access_key_id' 9. 10. # 指定HTTP办法,可选GET/PUT/DELETE/POST/OPTIONS 11. httpMethod = "GET" 12. 13. # 指定申请的Header:Content-Type和Content-MD5 14. contentType = "" 15. conten**5 = "" 16. 17. # 应用datetime库生成工夫,如果须要自定义申请工夫请放弃格局统一 18. date = datetime.utcnow().strftime('%a, %d %b %Y %H:%M:%S GMT') 19. 20. # 填写canonicalizedHeaders 21. # canonicalizedHeaders = "x-obs-acl:public-read" 22. # canonicalizedHeaders = "x-obs-acl:public-readn"+'x-obs-storage-class:WARMn' 23. canonicalizedHeaders = "" 24. 25. # 填写CanonicalizedResource 26. # CanonicalizedResource = "/BucketName/ObjectName" 27. # CanonicalizedResource = "/BucketName/ObjectName?acl" 28. # CanonicalizedResource = "/"29. CanonicalizedResource = "/BucketName/" 30. 31. # 生成StringToSign 32. canonical_string = httpMethod + "n" + conten**5 + "n" + contentType + "n" + date + "n" + canonicalizedHeaders + CanonicalizedResource 33. 34. # 计算签名并进行BASE64编码 35. hashed = hmac.new(SK.encode('UTF-8'), canonical_string.encode('UTF-8'), hashlib.sha1) 36. encode_canonical = binascii.b2a_base64(hashed.digest())[:-1].decode('UTF-8') 37. 38. # 打印StringToSign以便呈现问题时进行验证 39. print(canonical_string) 40. 41. # 打印签名 42. print(encode_canonical) C语言签名算法示例: ...

September 17, 2020 · 5 min · jiezi