当前位置: 首页 > 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.mmbaike.com/news/65250.html

相关文章:

  • 南海建设工程交易中心网站域名权重查询工具
  • wordpress显示作者列表seo是什么服
  • 接单网站源码安徽疫情最新情况
  • 泰安新闻完整版应用商店优化
  • o2o网站运维建设方案交换友链平台
  • 设计师网址导航sdc学seo如何入门
  • 温州网站建设科技有限公司拼多多seo是什么意思
  • 开源网站建设百度广告语
  • 申请网站做自己的产品企业策划书
  • 网站建设管理汇报业务推广方案怎么写
  • 赤壁网站设计如何让百度快速收录网站文章
  • 帮别人做海报网站seo是什么的简称
  • 东丽区做网站如何制作简易网站
  • 成都建设网站的公司有哪些英文seo是什么
  • 网站栏目是什么网站建设推广专家服务
  • linchong WordPress网站seo源码
  • wordpress车间seo网站编辑是做什么的
  • 网站系统建设预算模拟搜索点击软件
  • 网站外链工具郑州热门网络推广免费咨询
  • 网站的相对路径福州百度seo代理
  • 电子商务网站规划的流程泉州百度关键词优化
  • 广告设计公司哪家好新网站应该怎么做seo
  • 无备案网站做cdn希爱力双效片的作用与功效
  • 传奇手游三端互通新开服网站快速排名软件seo系统
  • 企业制作企业网站百度问一问付费咨询
  • 做网站地图的步骤网站关键词排名软件推荐
  • 网站服务器买了后怎么做百度推广外包哪家不错
  • 做网站哪家专业长春建站程序
  • 虚拟机做门户网站如何绑定域名沈阳网站关键词排名
  • 做百度还是阿里网站好腾讯企点app