leveldb谁用过apache apollo,有个问题需要请教下

leveldb  时间:2021-06-22  阅读:()

LevelDB存储量对性能有多大影响?

可能很多人都不知道RedisStorage 和redis 之间的区别。

redis的存储是存储在里的, RedisStorage可以选择存储在磁盘里. 当redis崩溃的时候。

redis 会从rdb或者aof文件重新读取数据到内存里。

如果数据量很大的话。

这个初始化是相当的慢。

(这就是 redis的假数据持久)。

RedisStorage 是直接存储在 磁盘里。

所以不存在这个数据重加载问题。

还有redis 存储是受物理内存限制的,比如你有几千万或者几亿的数据。

如果存储在redis里。

那得需要多巨大的内存了。

使用RedisStorage 就没有物理内存限制这个问题。

最大可以存储十亿数据。

最后说一下淘宝的Tair ldb项目。

同样基于leveldb 存储引擎。

广泛的用在 登录淘宝、查看商品详情页面、在淘江湖和好友“捣浆糊”等。

说明leveldb 数据引擎的可靠性和海量数据存储。

但是开源版的Tair ldb 并不好用。

所以自己写了个基于 leveldb的 server端。

Apache apollo 怎么实现集群部署

1、下载Apollo服务器,下载后解压,然后运行apache-apollo-1.6inapollo.cmd,输入createmybroker(名字任意取,这里是根据官网介绍的来取的)创建服务器实例,服务器实例包含了所有的配置,运行时数据等,并且和一个服务器进程关联。

  2、createmybroker之后会在bin目录下生成mybroker文件夹,里面包含有很多信息,其中etcapollo.xml文件下是配置服务器信息的文件,etcusers.properties文件包含连接MQTT服务器时用到的用户名和密码,后面会介绍,可以修改原始的admin=password,可以接着换行添加新的用户名密码。

  3、打开cmd,运行…apache-apollo-1.6inmybrokerinapollo-broker.cmdrun开启服务器,可以在浏览器中输入查看是否安装成功,该界面展示ic,连接数等很多信息。

  经过上面的简单步骤,服务器基本上就已经完成,下一篇将介绍Android客户端的编写和注意事项。

  客户端使用的API,开始我使用的是mqtt-client,使用过后发现问题百出,不能很好的满足要求,后来使用了官方推荐的EclipsePaho,下面开始客户端代码的编写,为了方便测试这里有android和j2se两个工程:  1、新建android工程MQTTClient  2、MainActivity代码如下:  [java]viewplaincopyprint?packageldw.mqttclient;importjava.util.concurrent.Executors;importjava.util.concurrent.ScheduledExecutorService;importjava.util.concurrent.TimeUnit;3.IMqttDeliveryToken;3.MqttCallback;3.MqttClient;3.MqttConnectOptions;3.MqttException;3.MqttMessage;3.persist.MemoryPersistence;importandroid.app.Activity;importandroid.os.Bundle;importandroid.os.Handler;importandroid.os.Message;importandroid.view.KeyEvent;importandroid.widget.TextView;importandroid.widget.Toast;lassMainActivityextendsActivity{privateTextViewresultTv;privateStringhost="tcp://127.0.0.1:1883";privateStringuserName="admin";privateStringpassWord="password";privateHandlerhandler;privateMqttClientclient;privateStringmyTopic="ic";privateMqttConnectOptionsoptions;privateScheduledExecutorServicescheduler;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);resultTv=(TextView)findViewById(R.id.result);init();handler=newHandler(){@OverridepublicvoidhandleMessage(Messagemsg){super.handleMessage(msg);if(msg.what==1){Toast.makeText(MainActivity.this,(String)msg.obj,Toast.LENGTH_SHORT).show();System.out.println("-----------------------------");}elseif(msg.what==2){Toast.makeText(MainActivity.this,"连接成功",Toast.LENGTH_SHORT).show();try{client.subscribe(myTopic,1);}catch(Exceptione){e.printStackTrace();}}elseif(msg.what==3){Toast.makeText(MainActivity.this,"连接失败,系统正在重连",Toast.LENGTH_SHORT).show();}}};startReconnect();}privatevoidstartReconnect(){scheduler=Executors.newSingleThreadScheduledExecutor();scheduler.scheduleAtFixedRate(newRunnable(){@Overridepublicvoidrun(){if(!client.isConnected()){connect();}}},0*1000,10*1000,TimeUnit.MILLISECONDS);}privatevoidinit(){try{//host为主机名,test为clientid即连接MQTT的客户端ID,一般以客户端唯一标识符表示,MemoryPersistence设置clientid的保存形式,默认为以内存保存client=newMqttClient(host,"test",newMemoryPersistence());//MQTT的连接设置options=newMqttConnectOptions();//设置是否清空session,这里如果设置为false表示服务器会保留客户端的连接记录,这里设置为true表示每次连接到服务器都以新的身份连接options.setCleanSession(true);//设置连接的用户名options.setUserName(userName);//设置连接的密码options.setPassword(passWord.toCharArray());//设置超时时间单位为秒options.setConnectionTimeout(10);//设置会话心跳时间单位为秒服务器会每隔1.5*20秒的时间向客户端发送个消息判断客户端是否在线,但这个方法并没有重连的机制options.setKeepAliveInterval(20);//设置回调client.setCallback(newMqttCallback(){@OverridepublicvoidconnectionLost(Throwablecause){//连接丢失后,一般在这里面进行重连System.out.println("connectionLost----------");}@OverridepublicvoiddeliveryComplete(IMqttDeliveryTokentoken){//publish后会执行到这里System.out.println("deliveryComplete---------"+token.isComplete());}@OverridepublicvoidmessageArrived(icName,MqttMessagemessage)throwsException{//subscribe后得到的消息会执行到这里面System.out.println("messageArrived----------");Messagemsg=newMessage();msg.what=1;icName+"---"+message.toString();handler.sendMessage(msg);}});//connect();}catch(Exceptione){e.printStackTrace();}}privatevoidconnect(){newThread(newRunnable(){@Overridepublicvoidrun(){try{client.connect(options);Messagemsg=newMessage();msg.what=2;handler.sendMessage(msg);}catch(Exceptione){e.printStackTrace();Messagemsg=newMessage();msg.what=3;handler.sendMessage(msg);}}}).start();}@OverridepublicbooleanonKeyDown(intkeyCode,KeyEventevent){if(client!=null&&keyCode==KeyEvent.KEYCODE_BACK){try{client.disconnect();}catch(Exceptione){e.printStackTrace();}}returnsuper.onKeyDown(keyCode,event);}@OverrideprotectedvoidonDestroy(){super.onDestroy();try{scheduler.shutdown();client.disconnect();}catch(MqttExceptione){e.printStackTrace();}}}  由于项目需要,我用到了心跳重连。

根据这里的解释设置apollo.xml,主要有设置主机连接的地址。

另外,options还有个setWill方法,如果项目中需要知道客户端是否掉线可以调用该方法。

谁用过apache apollo,有个问题需要请教下

Apache Apollo是一个代理服务器,主要用于消息的请求转发,下面是其常用的一些配置文件的介绍 一、users.properties: 用来配置可以使用服务器的用户以及相应的密码。

其在文件中的存储方式是:用户名=密码,如: lily=123456 表示新增一个用户,用户名是:lily,密码是:123456 二、groups.properties: 持有群体的用户映射,可以通过组而不是单个用户简化访问控制列表。

可以为一个定义的组设置多个用户,用户之间用“|”隔开,如: admins=admin|lily 表示admins组中有admin和lily两个用户 三、black-list.txt: 用来存放不允许连接服务器的IP地址,相当于黑名单类似的东西。

例如: 10.20.9.147 表示上面IP不能够连接到服务器。

四、login.config: 是一个服务器认证的配置文件,为了安全apollo1.6版本提供了认证功能,只有相应的用户名和正确的密码才能够连接 服务器。

五、服务器主配置文件apollo.xml: 该配置文件用于控制打开的端口,队列,安全,虚拟主机设置等。

1、认证:可以使用来配置是否需要连接认证,如果将其属性enable设置为false表示不用认证,任何人都可以连接服务器,默认为true 2、ess_rule:可以在broker或者virtual_host中用于定义用户对服务器资源的各种行为。

如: 表示群组users里面的用户可以对服务器资源进行的操作有:connect 、create、 destroy、 send 、receive 、consume。

详细的操作说明见: 3、message stores:默认情况下apollo使用的是LevelDB store,但是推荐使用BDB store(跨平台的)只能够实用其中一种。

使用LevelDB store的配置是:默认有提供不用任何修改。

使用BDB store需要到网站下jar包支持 ,将jar包放在服务器的lib目录下面,然后将配置文件改成:即可。

4、connector:用于配置服务器支持的链接协议以及相应的端口。

如: 表示支持tcp链接,使用的端口是61613,链接限制是2000,自动侦听的协议是mqtt协议。

pigyun25元/月,香港云服务器仅起;韩国云服务器,美国CUVIP

pigyun怎么样?PIGYun成立于2019年,2021是PIGYun为用户提供稳定服务的第三年,期待我们携手共进、互利共赢。PIGYun为您提供:香港CN2线路、韩国CN2线路、美西CUVIP-9929线路优质IaaS服务。月付另有通用循环优惠码:PIGYun,获取8折循环优惠(永久有效)。目前,PIGYun提供的香港cn2云服务器仅29元/月起;韩国cn2云服务器仅22元/月起;美国CUVI...

#消息# contabo:德国老牌机房新增美国“纽约、西雅图”数据中心,免设置费

运作了18年的德国老牌机房contabo在继去年4月开办了第一个美国数据中心(中部城市:圣路易斯)后立马在本月全新上马两个数据中心:纽约、西雅图。当前,为庆祝美国独立日,美国三个数据中心的VPS全部免除设置费,VPS本身的配置很高,价格适中,有较高的性价比!官方网站:https://contabo.com/en/SSD VPSKVM虚拟,纯SSD阵列,不限制流量,自带一个IPv4内存CPUSSD带...

SugarHosts新增Windows云服务器sugarhosts六折无限流量云服务器六折优惠

SugarHosts糖果主机商我们较早的站长们肯定是熟悉的,早年是提供虚拟主机起家的,如今一直还在提供虚拟主机,后来也有增加云服务器、独立服务器等。数据中心涵盖美国、德国、香港等。我们要知道大部分的海外主机商都只提供Linux系统云服务器。今天,糖果主机有新增SugarHosts夏季六折的优惠,以及新品Windows云服务器/云VPS上线。SugarHosts Windows系统云服务器有区分限制...

leveldb为你推荐
avc是什么格式格式工厂转的[AS3 720 AVC]mp4是什么格式暴力破解rar怎么暴力破解rar密码?快速且有效的云输入法QQ云输入法怎样进行中英文切换?特斯拉model3降价小鹏P7和特斯拉Model 3,买哪个更加划算?特斯拉model3降价特斯拉model 3中国有补贴吗短信套餐移动有什么短信包月套餐,怎么开通?西安娱乐西安最高端会所是哪一家网页背景音乐代码网页背景音乐代码,我要哪怕转换网页都不间断的那种ibooks支持什么格式ibooks使用的最佳格式是什么格式?ps5教程photoshop cs 教程 最好有视频的
广东虚拟主机 虚拟主机系统 免费二级域名 过期域名查询 com域名价格 vps优惠码 草根过期域名 187邮箱 新加坡主机 外贸主机 gomezpeer 双12活动 密码泄露 免费个人网站申请 java虚拟主机 老左来了 上海联通宽带测速 yundun 万网主机管理 免费外链相册 更多