首页 文章 精选 留言 我的

精选列表

搜索[store],共4485篇文章
优秀的个人博客,低调大师

nebula-br local-store 模式,快速搭建主备集群实践

因为线上图数据库目前为单集群,数据量比较大,有以下缺点: 单点风险,一旦集群崩溃或者因为某些查询拖垮整个集群,就会导致所有图操作受影响 很多优化类但会影响读写的操作不好执行,比如:compact、balance leader 等; 双集群在升级的时候也非常有优势,完全可以做到不影响业务运行,比如先升级备集群再升级主集群。总之为了线上数据库更加稳定和高可用需要搭建双集群。 选择 BR 工具的原因 目前,我这边了解到复制集群方案有: 新集群重新写入数据,这种情况要么就是写程序 scan 再导入新集群(太慢了),要么就基于底表数据通过 nebula-exchange 再导入新集群(必须得有历史数据) (不可靠)完整复制 nebula 数据拷贝到新集群,参考:【复制 data 方式导入】(不过,这个方式我在测试环境测试失败了) 通过 nebula-br 备份,再还原到新集群(本文就是基于这种方式) 因为我们线上很难回溯出完整的历史数据,无法基于底表重新构建,此外 scan 方式又太慢了,所以选择了 BR 的方式。 注意: 本文基于测试环境搭建验证,数据量比较小,线上还未做验证,仅供参考。此外附上官方的简单 BR 实践。 (很重要)使用 BR 工具备份一定要先去了解其限制,BR 文档 环境介绍 nebula 版本:3.6.0 nebula 安装路径:/usr/local/nebula nebula-metad 服务端口:9559 (可以通过安装目录下的 scripts/nebula-metad status 查看) backup 目录:/usr/local/nebula_backup 备份方式:full(全图备份,也可以指定部分 space) 3 台老集群机器(已经有历史数据的):192.168.1.2、192.168.1.3、192.168.1.4 3 台新集群机器(没有数据,待从老集群复制数据):192.168.2.2、192.168.2.3、192.168.2.4 备份前新集群 show hosts 情况: 备份前老集群 show hosts 情况: 大体步骤 老集群安装 agent(每台机器都要安装)和 br(选择任何其中一台机器安装)工具; 新集群安装 agent(每台机器都要安装); 在老集群安装 br 的机器上,利用 br 工具生成备份文件,备份 meta 执行老集群的 meta 地址; 复制 meta 文件,老集群中只有一台机器的备份目录有 meta,需要将 meta 复制到老集群其他机器; 在新集群机器创建和老集群一样的备份目录,比如:老集群备份目录为 /usr/local/nebula_bak/BACKUP_2023_09_14_13_57_33,新集群机器需要创建相同的目录:/usr/local/nebula_bak/BACKUP_2023_09_14_13_57_33; 复制老集群备份文件到新集群中,这里需要注意因为老集群每台机器都有自己的备份文件,这里需要将所有的备份文件复制到新集群中整合到一起,因为每台机器的 data 下的目录名称都是以 IP + PORT 的形式,所以不会有重复; 在老集群安装 br 的机器上,利用 br 工具恢复备份文件,恢复时 meta 指向新机器 meta 地址; 详细步骤 在老集群所有机器安装 agent,安装方法参考:angent 安装介绍,以当前示例为例,下载 nebula-agent 之后存放在 /usr/local/nebula/bin 目录下, 使用 chmod +x nebula-agent 赋予可执行权限: 192.168.1.2 nohup ./nebula-agent -agent="192.168.1.2:9999" -debug -meta="192.168.1.2:9559" > agent.log 2>&1 & 192.168.1.3 nohup ./nebula-agent -agent="192.168.1.3:9999" -debug -meta="192.168.1.3:9559" > agent.log 2>&1 & 192.168.1.4 nohup ./nebula-agent -agent="192.168.1.4:9999" -debug -meta="192.168.1.4:9559" > agent.log 2>&1 & 下载 br 工具到 nebula 的 bin 目录下,并命名为 nebula-br,并使用 chmod 命令赋予可执行权限。 此时老集群机器拓扑图: (老集群)选择安装 br 工具的 192.168.1.4 机器执行如下命令进行备份: ./nebula-br backup full --meta="192.168.1.4:9559" --storage="local:///usr/local/nebula_backup" (老集群)备份后每台机器的备份目录详情如图: (老集群)复制 meta 到其他机器的备份目录下: 这里是从 192.169.1.2(只有这台机器生成了 meta,这玩意只有在 meta 的 leader 节点生成)机器复制到 192.168.1.3 和 192.168.1.4 机器目录下: 新集群安装 agent: 192.168.2.2 nohup ./nebula-agent -agent="192.168.2.2:9999" -debug -meta="192.168.2.2:9559" > agent.log 2>&1 & 192.168.2.3 nohup ./nebula-agent -agent="192.168.2.3:9999" -debug -meta="192.168.2.3:9559" > agent.log 2>&1 & 192.168.2.4 nohup ./nebula-agent -agent="192.168.2.4:9999" -debug -meta="192.168.2.4:9559" > agent.log 2>&1 & 新集群服务拓扑图: 复制老集群的备份文件到新集群机器下,完成后的拓扑图: 从老集群机器 /usr/local/nebula_backup 拷贝数据到新集群机器 /usr/local/nebula_backup 目录下 (老集群) 选择安装 br 工具的 192.168.1.4 机器执行如下命令进行还原到新集群,这里的 meta 指向新集群机器其中一台 meta 地址,storage 地址为上一步新集群创建的备份地址: ./nebula-br restore full --meta="192.168.2.4:9559" --storage="local:///usr/local/nebula_backup" --name="BACKUP_2023_09_14_13_57_33" 观察日志,不报错的情况下完成了从老集群机器还原到了新集群,可使用 nebula-console 连接新集群查看 space 情况。 新集群 show hosts 情况: 小结 官方其实不推荐 local 模式去做备份还原,操作太过复杂,很容易出错,建议使用 S3 或者 NTF 进行挂载,这样就没必要做老集群拷贝到新集群的工作。 本文正在参加 NebulaGraph 技术社区年度征文活动,征文详情:https://discuss.nebula-graph.com.cn/t/topic/13970 如果你觉得本文对你有所启发,记得给我点个 ❤️ ,谢谢你的鼓励

优秀的个人博客,低调大师

作为苹果App Store的审核人员是一种什么体验?

【金融特辑】光大银行科技部DBA女神带你从0到1揭秘MGR 这篇文章为大家揭秘苹果的审核机制,希望对你有所帮助。 对于苹果审核我们一直抱有疑问的态度,它到底是机审还是人工审核呢?据熟悉该部门的人士透露,虽然苹果确实使用自动过滤器(机审),但该部门仍一直依赖人工审核。机审的作用主要是过滤掉明显不合格审核内容及高效分配工作,提高人工审核的公平性和效率。而所有审核结果,均由苹果的评审员人工进行审核。 据脸书、YouTube 知情人士透露,苹果人工审核工作是由苹果内部员工组成。App 评审员最基础是从 iPhone 应用程序开始审核,随着工作经验的累积,培训力度也会随之增加,审核员的工作方向还会包括内购、订阅等功能审核或 Apple Watch、Apple TV 不同平台应用程序的审核。 目前 App Review 总部有 300 多名评审员,其设在加利福尼亚州森尼维尔(Sunnyvale)的两个办公室里。据一位知情人士透露,苹果最近在爱尔兰科克和中国上海开设了新的应用程序评论办事处,近年来苹果一直增加评审员的成员。相信对于开发者们来讲,审核时间和效率的提高是一个很好的消息。 苹果对于评审员的语言要求非常高,由于之前审核 App 是按语言进行分配的,也就是说中文 App 给中文团队审核,但考虑到徇私舞弊问题,目前由机审筛选后随机分配。这也就是为什么苹果评审员的语言是他们考核重点,苹果公司表示,有些评审员会说 81 种不同的语言。 60% 通过率和 40% 拒绝率 苹果的每个评审员每天大概需要审核 50 -- 100 个应用程序,Watchtower 会跟踪每一个 App 的审核情况,以便回复开发者或通过开发者修改后重新提交审核时进行比对,同时也为苹果收集 App 质量相关数据。 对于评审员来讲,苹果为其制定了 SLA 的考核制度(服务级别协议),苹果在对审核时间的要求上是十分明确的。要求评审员在 24 小时内需要达到 50% 的应用完成审核,48 小时内需要达到 90% 的应用完成审核。苹果称,会有 40% 的 App 被拒审或更新被驳回,核查出相关问题,并反馈给开发者。在同时多维度考核数据时,SLA 会达到正常标准,低于正常值时,评审员会收到邮件通知进行警告。 这样的审核制度保证了开发者提交审核后的反馈以及对于审核效率和质量的规定。 拒绝后开发者应该怎么办? 开发者可向委员会(App Review Board)进行申诉,委员会是由高级评审员组成,有权修改级别较低的评审员的审核决定。 通过苹果拒审整体情况来看,大多数 App 主要由三大理由被苹果拒绝审核: 具有迷惑性或欺骗性的 App 存在漏洞的 App 侵犯用户隐私的 App 开发者们可从这三个出发点主要反思代码中是否有相关内容体验,确保产品顺利过审。 开发者需要注意: 曾在苹果工作过的审核员称,当被拒审后,开发者选择上诉后,苹果会对推翻或者驳回 App 的理由进行解释,这时,苹果内部会有人给开发者打电话。所以开发者如果接到苹果的电话可以及时沟通,尽可能将拒审原因询问清楚。 拒审并不会因为公司规模和开发者团队的大小而决定,苹果会对所有开发者一视同仁。不要有优越感,苹果的拒审不会看背景,所以开发者提交审核时建议多方检查后再进行提交。 支付异常、家长控制 App 苹果评审员会格外关注,如有问题会主动联系,所以相关 App 需要注意,确定没有逃脱或欺骗等行为。 苹果在 App Review 网页中给予开发者常见拒审原因的解决方法,开发者可参考苹果建议,进行及时更正,尽快上架 App。 如果开发者需要进一步提出上诉等操作可通过“联系我们”直接与苹果沟通。 总结 苹果人工审核相对严格,建议开发者积极回应,及时修改,争取提早过审; 苹果的拒审率为 40%,所以被拒审了或多或少会有问题,及时改正即可,或上诉提交高级评审员。但这里也会有些问题,可能会出现新的审核结果,所以利弊参半; 由于评审员工作经验、水平及评审模式略有不同,根据提供审核结果的评审员评定,尽量修改,如再三确定没有问题,可进行申诉; 拒审原因苹果有提供相关常见解说,如遇相关问题或提交审核前,可进行参考。

优秀的个人博客,低调大师

黑莓WP版BBM即时通信应用突然下架Windows Store

据Windows Central发现,黑莓知名即时通信软件BBM的Windows Phone版本突然在Windows商城下架。黑莓的BBM以安全沟通为主,此前发布了 iOS 及 Android 版本,反映相当不错,尽管市场份额较小,黑莓也为WP平台开放了BBM应用。 但是如今不知为何,WP版本的黑莓BBM应用突然下架,是否意味着黑莓有意放弃对微软WP市场的支持,或许是黑莓准备发布UWP版的BBM应用?目前这一切都只是猜测,黑莓并未就此事发表任何消息或宣布。 本文转自d1net(转载)

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册