首页 文章 精选 留言 我的

精选列表

搜索[分布式锁],共10000篇文章
优秀的个人博客,低调大师

分布式图数据库 Nebula Graph v1.0.1 发布,支持多种压缩算法

Nebula Graph 发布 1.0.1 版。相比 1.0.0 版本,该版本针对系统稳定性、性能上做了很多优化和改进。 New Features 路径查询FIND PATH中 vid 支持uuid()https://github.com/vesoft-inc/nebula/pull/2209 增加了 disable rocksdb block cache 的功能,通过设置storaged.conf的rocksdb_block_cache为任意非正数来 disable block cache.https://github.com/vesoft-inc/nebula/pull/2177 避免了多线程对 meta client 的localCacheLock_的lock contention 等待事件,提高了性能https://github.com/vesoft-inc/nebula/pull/2165 底层存储支持多种压缩算法,支持对 rocksdb 每个level 指定压缩策略https://github.com/vesoft-inc/nebula/pull/2179 bug-fix 修复手动 Compaction 时CompactionFilter失效的问题https://github.com/vesoft-inc/nebula/pull/2184 修复某些情况下,Leader错误发送Snapshothttps://github.com/vesoft-inc/nebula/pull/2150 修复增加属性后,UPSERT/UPDATE SET xxx老数据的新字段报错的问题https://github.com/vesoft-inc/nebula/pull/2186 修复GO m ... n当 m 为 0 可能导致的问题https://github.com/vesoft-inc/nebula/pull/2202 修复 pipe 操作结合 GO n STEPS 查询时,某些情况下可能返回数据不全的问题https://github.com/vesoft-inc/nebula/pull/2203

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

分布式监控系统 WGCLOUD v3.0 更新,菜单图标不显示的 bug 修复

WGCLOUD,server端基于springboot开发,agent端使用go编写。支持高并发高性能,核心模块包括:服务器集群监控,ES集群状态监控,CPU监控,内存监控,数据监控,docker监控,网络流量监控,服务心跳检测,应用进程管理,磁盘IO监控,系统负载监控,监控告警信息推送。 此次v3.0更新: 菜单图标不显示的bug修复 windows个别版本虚拟机,获取cpu问题修复 码云源码下载:https://gitee.com/wanghouhou/wgcloud GITHUB源码下载:https://github.com/tianshiyeben/wgcloud 安装包下载:http://www.wgstart.com

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

关于分布式监控系统 WGCLOUD v2.3,没有添加主机的接口说明

WGCLOUD采用server和agent工作方式,agent会自动上报本主机各种指标数据,server端接受到数据后会集中处理数据。 因此server端不需要添加监控主机,随着agent陆续启动,server会自动发现agent的监控主机信息。 如果agent超过10分钟未上报数据,server会判定此主机已经离线,对监控主机可以手动删除。 已经离线的主机,如果不手动删除,超过15天后系统会自动清除,因为所有监控主机的指标数据都保留最长15天,此设计是为了数据库能高效工作。 码云地址:https://gitee.com/wanghouhou/wgcloud GITHUB:https://github.com/tianshiyeben/wgcloud 下载:http://www.wgstart.com

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

分布式图数据库 Nebula RC3 发布:新增 dump_tools 工具

本次 RC3 主要新增dump_tools工具,导出指定条件的数据;发布 GUI 工具 Nebula Graph Studio,支持可视化探索,数据导入等功能;新增扫描点边接口,对接 OLAP。 Query engine 支持获取给定点的全部属性#1486 新增DELETE EDGE, 删除指定点#1063 支持IF EXISTS,可防止删除不存在 tag/edgetype 的错误#1505 支持IF NOT EXISTS,可防止创建已存在 space/tag/edgetype 的错误#1379 输出 graphd metrics#1451 Storage 对于 OLAP,storage 新增扫描点边接口#1381 配置支持更改heartbeat_interval_secs,Meta 客户端上报心跳的时间间隔#1540 本地测试时,支持使用本地 gflags 配置,而非去 meta 上获取,避免本地修改参数没起作用的问题#1411 增强了 balancer,balance 的每个步骤加入了检查.#1378 支持对整个集群创建快照 #1199#1372 优化过滤条件下推#947 每个 raft group 支持从 leader/follow 读取数据或只从 leader 读取数据#1363 Storage / Meta Clients 增加了超时时间设置,可通过 meta_client_timeout_ms 配置,默认 60s#1399 Build 极大的简化了编译流程,支持 2.6.32 以上内核的绝大部分 Linux 系统#1332 Index 支持对点边的属性建立索引,显示所有索引,查看索引详情、删除索引等操作#1459#1360 Tools dump_tools, 一个单机离线数据导出工具,可以用于导出或统计指定条件的数据.#1479#1554 Spark Writer采用异步客户端,新增对 hash、uuid 的支持,支持从不同数据源导入数据#1405#1512 Spark Writer支持配置 Spark partition,Partition的数量决定了task的数量,影响着程序的并行度#1412 UI Nebula Graph Studio 是 Nebula GUI 工具。支持可视化图探索;含有语法高亮功能的编辑器,能帮助用户快速地设计查询,结构化的方式查看结果;支持可视化数据导入。图形界面工具地址(包含文档和部署配置文件)公测地址:https://github.com/vesoft-inc/nebula-web-dockerla-web-docker Coming soon 功能 profiling execution plan 子图 bidirectional query clone space schema info 支持更多 OLAP Interface 权限管理 sampling Tools 容器部署 增强 Nebula Graph Studio 功能

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

21、 Python快速开发分布式搜索引擎Scrapy精讲—爬虫数据保存

注意:数据保存的操作都是在pipelines.py文件里操作的 将数据保存为json文件 spider是一个信号检测 #-*-coding:utf-8-*- #Defineyouritempipelineshere # #Don'tforgettoaddyourpipelinetotheITEM_PIPELINESsetting #See:http://doc.scrapy.org/en/latest/topics/item-pipeline.html fromscrapy.pipelines.imagesimportImagesPipeline#导入图片下载器模块 importcodecs importjson classAdcPipeline(object):#定义数据处理类,必须继承object def__init__(self): self.file=codecs.open('shuju.json','w',encoding='utf-8')#初始化时打开json文件 defprocess_item(self,item,spider):#process_item(item)为数据处理函数,接收一个item,item里就是爬虫最后yielditem来的数据对象 #print('文章标题是:'+item['title'][0]) #print('文章缩略图url是:'+item['img'][0]) #print('文章缩略图保存路径是:'+item['img_tplj'])#接收图片下载器填充的,图片下载后的路径 #将数据保存为json文件 lines=json.dumps(dict(item),ensure_ascii=False)+'\n'#将数据对象转换成json格式 self.file.write(lines)#将json格式数据写入文件 returnitem defspider_closed(self,spider):#创建一个方法继承spider,spider是一个信号,当前数据操作完成后触发这个方法 self.file.close()#关闭打开文件 classimgPipeline(ImagesPipeline):#自定义一个图片下载内,继承crapy内置的ImagesPipeline图片下载器类 defitem_completed(self,results,item,info):#使用ImagesPipeline类里的item_completed()方法获取到图片下载后的保存路径 forok,valueinresults: img_lj=value['path']#接收图片保存路径 #print(ok) item['img_tplj']=img_lj#将图片保存路径填充到items.py里的字段里 returnitem#将item给items.py文件的容器函数 #注意:自定义图片下载器设置好后,需要在 将数据保存到数据库 我们使用一个ORM框架sqlalchemy模块,保存数据 数据库操作文件 #!/usr/bin/envpython #-*-coding:utf-8-*- fromsqlalchemy.ext.declarativeimportdeclarative_base fromsqlalchemyimportColumn fromsqlalchemyimportInteger,String,TIMESTAMP fromsqlalchemyimportForeignKey,UniqueConstraint,Index fromsqlalchemy.ormimportsessionmaker,relationship fromsqlalchemyimportcreate_engine #配置数据库引擎信息 ENGINE=create_engine("mysql+pymysql://root:279819@127.0.0.1:3306/cshi?charset=utf8",max_overflow=10,echo=True) Base=declarative_base()#创建一个SQLORM基类 classSendMsg(Base):#设计表 __tablename__='sendmsg' id=Column(Integer,primary_key=True,autoincrement=True) title=Column(String(300)) img_tplj=Column(String(300)) definit_db(): Base.metadata.create_all(ENGINE)#向数据库创建指定表 defdrop_db(): Base.metadata.drop_all(ENGINE)#向数据库删除指定表 defsession(): cls=sessionmaker(bind=ENGINE)#创建sessionmaker类,操作表 returncls() #drop_db()#删除表 #init_db()#创建表 pipelines.py文件 #-*-coding:utf-8-*- #Defineyouritempipelineshere # #Don'tforgettoaddyourpipelinetotheITEM_PIPELINESsetting #See:http://doc.scrapy.org/en/latest/topics/item-pipeline.html fromscrapy.pipelines.imagesimportImagesPipeline#导入图片下载器模块 fromadcimportshujukuasORM#导入数据库文件 classAdcPipeline(object):#定义数据处理类,必须继承object def__init__(self): ORM.init_db()#创建数据库表 defprocess_item(self,item,spider):#process_item(item)为数据处理函数,接收一个item,item里就是爬虫最后yielditem来的数据对象 print('文章标题是:'+item['title'][0]) print('文章缩略图url是:'+item['img'][0]) print('文章缩略图保存路径是:'+item['img_tplj'])#接收图片下载器填充的,图片下载后的路径 mysq=ORM.session() shuju=ORM.SendMsg(title=item['title'][0],img_tplj=item['img_tplj']) mysq.add(shuju) mysq.commit() returnitem classimgPipeline(ImagesPipeline):#自定义一个图片下载内,继承crapy内置的ImagesPipeline图片下载器类 defitem_completed(self,results,item,info):#使用ImagesPipeline类里的item_completed()方法获取到图片下载后的保存路径 forok,valueinresults: img_lj=value['path']#接收图片保存路径 #print(ok) item['img_tplj']=img_lj#将图片保存路径填充到items.py里的字段里 returnitem#将item给items.py文件的容器函数 #注意:自定义图片下载器设置好后,需要在 【转载自:http://www.lqkweb.com】

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

突破Java面试(15)-分布式搜索引擎Elastic Search的工作流程

以下用ES表Elastic Search 1 面试题 ES写入/查询数据的工作原理是什么呀? 2 考点分析 面试官就是想看看你是否了解ES的一些基本原理.ES无非就是写/查数据,你如果不明白你发起写入/搜索请求后,ES做了什么,那你该劝退了. 3 详解 3.1 ES写数据的执行流程 客户端选择一个node发送请求过去,该node就是coordinating node(协调节点); coordinating node对document进行路由,将请求转发给对应的node(有primary shard); 实际的node上的primary shard处理请求,然后将数据同步到replica node; coordinating node若发现primary node和所有replica node都响应完操作后,就返回结果给客户端. 3.2 ES读数据的执行

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

PHP取模hash和一致性hash操作Memcached分布式集群

相关笔记:CentOS6.9源码编译安装memcachedCentOS6.9源码编译安装php-memcached扩展 1.开启4个Memcached服务模拟集群 /usr/local/memcached/bin/memcached -d -p 11211 -u memcached -vv >> /var/log/memcached.11211.log 2>&1 /usr/local/memcached/bin/memcached -d -p 11212 -u memcached -vv >> /var/log/memcached.11212.log 2>&1 /usr/local/memcached/bin/memcached -d -p 11213 -u memcached -vv >> /var/log/memcached.11213.log 2>&1 /usr/local/memcached/bin/memcached -d -p 11214 -u memcached -vv >> /var/log/memcached.11214.log 2>&1 2.取模hash算法 php代码 <?php /** * Created by PhpStorm. * User: jmsite.cn * Date: 2019/1/28 * Time: 11:38 */ $memcached = new Memcached(); //设置算法为取模hash $memcached->setOptions( array( Memcached::OPT_DISTRIBUTION => Memcached::DISTRIBUTION_MODULA, //Memcached::OPT_LIBKETAMA_COMPATIBLE => true, Memcached::OPT_REMOVE_FAILED_SERVERS=> true, ) ); //添加服务器 $memcached->addServer('192.168.75.132', '11211'); $memcached->addServer('192.168.75.132', '11212'); $memcached->addServer('192.168.75.132', '11213'); $memcached->addServer('192.168.75.132', '11214'); //写入12个key for ($i =1;$i <= 12;$i++){ $memcached->set('key_'.$i, 'value_'.$i); } 执行上述代码,查看log #memcached.11211.log <28 new auto-negotiating client connection 28: Client using the ascii protocol <28 set key_2 0 0 7 >28 STORED <28 set key_3 0 0 7 >28 STORED <28 set key_4 0 0 7 >28 STORED <28 set key_10 0 0 8 >28 STORED <28 quit <28 connection closed. #memcached.11212.log <28 new auto-negotiating client connection 28: Client using the ascii protocol <28 set key_1 0 0 7 >28 STORED <28 set key_6 0 0 7 >28 STORED <28 set key_9 0 0 7 >28 STORED <28 set key_12 0 0 8 >28 STORED <28 quit <28 connection closed. #memcached.11213.log <28 new auto-negotiating client connection 28: Client using the ascii protocol <28 set key_7 0 0 7 >28 STORED <28 set key_8 0 0 7 >28 STORED <28 quit <28 connection closed. #memcached.11214.log <28 new auto-negotiating client connection 28: Client using the ascii protocol <28 set key_5 0 0 7 >28 STORED <28 set key_11 0 0 8 >28 STORED <28 quit <28 connection closed. 查看key的分布 服务器 键名 11211 key_2,key_3,key_4,key_10 11212 key_1,key_6,key_9, key_12 11213 key_7,key_8 11214 key_5, key_11 注释掉php代码中的11214//$memcached->addServer('192.168.75.132', '11214');再次执行php代码查看key的分布 服务器 键名 11211 key_1, key_2, key_6, key_7, key_8, key_9, key_10, key_11, key_12 11212 11213 key_3, key_4, key_5 对比两次key的分布:key_2和key_10命中没有变动,始终在11211中,其他10个key因为服务器的减少命中发生变化 3.一致性hash算法 php代码 <?php /** * Created by PhpStorm. * User: jmsite.cn * Date: 2019/1/28 * Time: 11:38 */ $memcached = new Memcached(); //设置算法为一致性hash $memcached->setOptions( array( Memcached::OPT_DISTRIBUTION => Memcached::DISTRIBUTION_CONSISTENT, Memcached::OPT_LIBKETAMA_COMPATIBLE => true, Memcached::OPT_REMOVE_FAILED_SERVERS=> true, ) ); //添加服务器 $memcached->addServer('192.168.75.132', '11211'); $memcached->addServer('192.168.75.132', '11212'); $memcached->addServer('192.168.75.132', '11213'); $memcached->addServer('192.168.75.132', '11214'); //写入12个key for ($i =1;$i <= 12;$i++){ $ret = $memcached->set('key_'.$i, 'value_'.$i); } 执行上述代码,查看log查看key的分布 服务器 键名 11211 key_1, key_6, key_11 11212 key_7, key_10 11213 key_2, key_3, key_5, key_8, key_9 11214 key_4, key_12 注释掉php代码中的11214//$memcached->addServer('192.168.75.132', '11214');再次执行php代码查看key的分布 服务器 键名 11211 key_1, key_4, key_6, key_11 11212 key_7, key_10 11213 key_2, key_3, key_5, key_8, key_9, key_12 对比两次key的分布:11211原有的key命中没有发生变化,新增了key_411212原有的key命中没有发生变化11213原有的key命中没有发生变化,新增了key_12有2个key因为服务器的减少命中发生变化 4.对比 取模hash算法减少一台服务器有10个key命中发生了变化。一致性hash算法减少一台服务器2个key命中发生了变化。这里只测试了12个key,模拟的数据量太小导致key分布不均匀,但服务器减少导致key命中发生变化和模拟数据量大小无关,而是和hash算法有关,这些测试体现了一致性hash算法的优势,取模hash因为服务器的减少导致大量key的取模结果发生变化,命中的服务器也发生了变化;而一致性hash算法key是固定在一个有2^32-1个节点的hash环上,服务器减少key在hash环上的位置不会发生变化,仅仅影响减少的那台服务器上key的命中,增加服务器也仅仅影响hash环上下一个位置服务器的部分key而已原文地址:https://www.jmsite.cn/blog-624.html

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

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文件系统,支持十年生命周期更新。

用户登录
用户注册