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

做视频网站都需要什么百度网址大全

做视频网站都需要什么,百度网址大全,wordpress弹出聊天,自己做网站需要缴费么由于遇到服务重启导致的业务中断等异常,所以计划通过kafkaeureka实现服务下线通知,来尽可能规避这类问题。 如果可以升级spring,则可以考虑nacos等更为方便的方案; 程序优化: 1.默认启用的为 PollingServerListUpdater…

由于遇到服务重启导致的业务中断等异常,所以计划通过kafka+eureka实现服务下线通知,来尽可能规避这类问题。
如果可以升级spring,则可以考虑nacos等更为方便的方案;

程序优化:
1.默认启用的为 PollingServerListUpdater,所以需要手动启用EurekaNotificationServerListUpdater

@Configuration
public class ConsumerRibbonClientConfig {@Beanpublic ServerListUpdater ribbonServerListUpdater() {return new EurekaNotificationServerListUpdater();}
}

2.需要触发PollingServerListUpdater中的更新,则需要先触发DiscoveryClient中的refreshRegistry


@Slf4j
@Component
public class EurekaRefreshUpdater {public void refresh() {try {log.info("EurekaRefreshUpdater-begin");Method method = DiscoveryClient.class.getDeclaredMethod("refreshRegistry");method.setAccessible(true);method.invoke(SpringUtil.getBean(DiscoveryClient.class));log.info("EurekaRefreshUpdater-end");} catch (Exception e) {log.error("EurekaRefreshUpdater"+e.getMessage(), e);e.printStackTrace();}}

3.服务关机listener


@Component
@KafkaListener(topics = GracefulShutdownConfigConstant.KAFKA_TOPIC)
@Slf4j
public class ServiceDowntimeListener {@AutowiredEurekaRefreshUpdater eurekaRefreshUpdater;@KafkaHandlerpublic void onMessage(@Payload String message, Acknowledgment acknowledgment) {log.info("服务关机-接收到其他服务关机信息,message:{}", JSON.toJSONString(message));eurekaRefreshUpdater.refresh();acknowledgment.acknowledge();}
}

4.自己关机发送消息通知

@Slf4j
@Component
public class GracefulShutdown {@Value("${server.graceful.shutdown.seconds:30}")private Integer serverGracefulShutdownSeconds;@AutowiredEurekaClient eurekaClient;@Value("${spring.application.name}")private String serviceName;@Autowiredprivate KafkaTemplate<Object, String> kafkaTemplate;@PreDestroypublic void gracefulShutdown() throws InterruptedException {log.info("gracefulShutdown wait {} seconds -- begin", serverGracefulShutdownSeconds);eurekaClient.shutdown();new Thread(() -> {kafkaTemplate.send(GracefulShutdownConfigConstant.KAFKA_TOPIC,1,serviceName);kafkaTemplate.send(GracefulShutdownConfigConstant.KAFKA_TOPIC,0,serviceName);}).start();Thread.sleep(serverGracefulShutdownSeconds * 1000);log.info("gracefulShutdown shutdown");}
}

脚本优化
在服务启动脚本中,要注意不可使用kill -9 结束服务进程,需要使用kill -15 让服务有一定的存活时间。来处理完成已有的请求。

问题
1.kafka通过group分组,如果同一组则只能收到一条信息。如果同一服务部署两个节点,则不能很好的都通知到位,所以在创建kafka通知的时候,根据服务的部署情况,利用分区+多条通知,来变相实现全广播。

./kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 3 --partitions 2 --topic shutdown_service

2.PollingServerListUpdater所在的spring-cloud-netflix-eureka-client在早起可能存在问题。具体详见:
EurekaNotificationServerListUpdater启用后出现 Connection refused (Connection refused)

ps:
需要注意下程序版本以及kafka版本,防止某些方法不适用。
如果高版本kafka 是否可以通过指定不同的groupid来变相实现多服务通知呢?

http://www.tj-hxxt.cn/news/124800.html

相关文章:

  • 宜昌哪里有专业做网站的百度软件中心官网
  • 中国移动app官方下载宁波seo入门教程
  • dede网站地图不显示文章列表搜索引擎技术包括哪些
  • 德清网站建设中心seo排名怎样
  • 成都建设规划网站发布推广信息的网站
  • 郑州网站建设多少钱seo的方式包括
  • 河南省住房城乡与建设厅网站首页营销系统
  • 如何用word做网站关键词名词解释
  • 网站营销外包公司大数据培训机构排名前十
  • 找建筑官网李江seo
  • 购物商城网站建设服务营销
  • 郑州网站建设费用郑州专业seo推荐
  • 广东广东网站建设工作我想做网络推广
  • wordpress主题dux3.0昆明排名优化
  • 杭州网站建设电话网络广告设计
  • 做静态网站有什么用实时热点新闻
  • 营销型网站建设评价一键优化免费下载
  • 电商网站html模板新东方线下培训机构官网
  • 网站优化改版怎么接广告赚钱
  • 物流网站建设公司2023新闻大事件摘抄
  • 怎样优化网站自然排名简述搜索引擎优化
  • 浅析动态网站建设之后台数据库的选择关键词搜索推广
  • 做网站的策划书手机制作网页用什么软件
  • 字体+添加+wordpress宁波seo搜索排名优化
  • 商务网站建设管理思路百度搜索链接
  • 做网站和推广工资多少钱小红书推广引流
  • 装饰公司营销型网站建设长沙网络推广营销
  • 做外国美食的视频网站河南郑州做网站的公司
  • 域名注册,网站建设,好做吗站长统计app最新版本2023
  • 担路网提供网站建设代推广app下载