当前位置: 首页 > news >正文

网站编辑年终总结全球搜效果怎么样

网站编辑年终总结,全球搜效果怎么样,外包公司排行,汕头市平台网络推广公叿实际中遇到了这样一个问题: The producer group[xxxx] has been created before, specify another instanceName (like producer.setInstanceName) please. 发生的原因是:一个进程内,创建了多个相同topic的producer。 所以问题就转换成了如何…

实际中遇到了这样一个问题:
The producer group[xxxx] has been created before, specify another instanceName (like producer.setInstanceName) please.
发生的原因是:一个进程内,创建了多个相同topic的producer。
所以问题就转换成了如何避免进程内多个实例的创建。(还有一个解决办法就是producer.setInstanceName(UUID.getUUID()))
解决问题:就要用到了单例模式。
单例模式可以参考:synchronized能不能保证有序性??单例模式下的懒汉和双检锁的思考


分析:
为啥不用分布式锁呢?分布式其实保证集群内唯一,就是不管你有多少台机器,全局就一个,唯一的一个。
分布式环境,其实就是不同的进程间的问题。集群内唯一,实质就是进程间唯一

“进程唯一”指的是进程内唯一、进程间不唯一。“线程唯一”指的是线程内唯一、线程间不唯一。集群相当于多个进程构成的一个集合,“集群唯一”就相当于是进程内唯一、进程间也唯一。也就是说,不同的进程间共享同一个对象,不能创建同一个类的多个对象。

我们知道,经典的单例模式是进程内唯一的,那如何实现一个进程间也唯一的单例呢?如果严格按照不同的进程间共享同一个对象来实现,那集群唯一的单例实现起来就有点难度了。

具体来说,我们需要把这个单例对象序列化并存储到外部共享存储区(比如文件)。进程在使用这个单例对象的时候,需要先从外部共享存储区中将它读取到内存,并反序列化成对象,然后再使用,使用完成之后还需要再存储回外部共享存储区。

为了保证任何时刻,在进程间都只有一份对象存在,一个进程在获取到对象之后,需要对对象加锁,避免其他进程再将其获取。在进程使用完这个对象之后,还需要显式地将对象从内存中删除,并且释放对对象的加锁。


1.如何理解单例模式的唯一性?

单例类中对象的唯一性的作用范围是“进程唯一”的。“进程唯一”指的是进程内唯一,进程间不唯一;“线程唯一”指的是线程内唯一,线程间可以不唯一。实际上,“进程唯一”就意味着线程内、线程间都唯一,这也是“进程唯一”和“线程唯一”的区别之处。“集群唯一”指的是进程内唯一、进程间也唯一。

2.如何实现线程唯一的单例?

我们通过一个HashMap来存储对象,其中key是线程ID,value是对象。这样我们就可以做到,不同的线程对应不同的对象,同一个线程只能对应一个对象。实际上,Java语言本身提供了ThreadLocal并发工具类,可以更加轻松地实现线程唯一单例。

3.如何实现集群环境下的单例?

我们需要把这个单例对象序列化并存储到外部共享存储区(比如文件)。进程在使用这个单例对象的时候,需要先从外部共享存储区中将它读取到内存,并反序列化成对象,然后再使用,使用完成之后还需要再存储回外部共享存储区。为了保证任何时刻在进程间都只有一份对象存在,一个进程在获取到对象之后,需要对对象加锁,避免其他进程再将其获取。在进程使用完这个对象之后,需要显式地将对象从内存中删除,并且释放对对象的加锁。

4.如何实现一个多例模式?

“单例”指的是一个类只能创建一个对象。对应地,“多例”指的就是一个类可以创建多个对象,但是个数是有限制的,比如只能创建3个对象。多例的实现也比较简单,通过一个Map来存储对象类型和对象之间的对应关系,来控制对象的个数。

参考
1.https://blog.51cto.com/u_15273875/2917903
2.王铮《设计模式之美》

http://www.yidumall.com/news/96942.html

相关文章:

  • 网站的价值与网站建设的价格网站整站优化
  • 站长工具的使用seo综合查询运营电商seo优化
  • 洛阳市政建设集团网站自己做一个网站要多少钱
  • 上海热线新闻频道软件排名优化
  • 做网站怎么跟别人讲价深圳互联网公司50强
  • 公司网站怎么注销黄页88网
  • 网络广告是什么前端性能优化
  • 草料短链接在线生成器深圳百度快速排名优化
  • 重庆地产网站建设昆明自动seo
  • 河南公司网站制作咨询深圳seo教程
  • 手机端企业网站源码seo外包推广
  • 天津制作企业网站网盟推广
  • 北京做网站建设公司重庆seo全面优化
  • 企业网站建设58同城网站构建的基本流程
  • 为吴铮真做网站的男生免费智能seo收录工具
  • 武汉简单做网站关键词歌曲歌词
  • wordpress会话缓存安徽360优化
  • 环保科技东莞网站建设google推广
  • wordpress内容搬家杭州企业seo
  • 哪个网站做视频钱多宁波营销型网站建设优化建站
  • 怎样加强公司网站建设介绍网络营销
  • 兰州互联网公司银徽seo
  • 网站建设服务哪个便宜上海最新新闻
  • 微信开发者工具有什么作用seo有哪些经典的案例
  • 企业网站 多网站推广重庆seo扣费
  • 聂教练做0网站兰州疫情最新情况
  • 怎么做自助购物网站视频营销案例
  • 大连网络备案做网站百度官方人工客服电话
  • 做b2b网站的人石家庄seo
  • 网站建设要用多少种字体怎么优化网站