城市直播房产教育博客汽车
投稿投诉
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

AxonFramework扩展

2月14日 失了心投稿
  除了默认的AxonServer之外,SpringCloud是分发命令总线(命令)的另一种方法。
  SpringCloudExtension使用SpringCloud描述的服务注册和发现机制来分发命令总线。因此,您可以选择在发现分发命令的路由时使用哪个SpringCloud实现。Netflix的EurekaDiscoveryEurekaServer组合或HashiCorp的Consul就是一个例子。
  要使用Axon的SpringCloud组件,请确保axonspringcloud模块在类路径中可用。最简单的方法是将此扩展中的SpringCloudstarter(axonspringcloudspringbootstarter)包含到您的项目中。
  给出每个SpringCloud实现的描述会使这个参考指南走得太远。有关其他SpringCloud实现选项的信息,请参阅它们各自的文档。
  SpringCloud连接器设置是SpringCloudCommandRouter和SpringHttpCommandBusConnector的组合。前者是CommandRouter,后者是CommandBusConnector,两者都被DistributedCommandBus用来启用命令分发。发现命令路由
  SpringCloudCommandRouter使用SpringCloud的发现机制来查找集群中的其他节点。为此,它使用SpringCloud的DiscoveryClient和Registration。这些分别用于收集远程命令路由信息和维护本地信息。检索两者最直接的方法是使用EnableDiscoveryClient注解您的应用程序。
  收集和存储命令路由信息围绕着SpringCloud的ServiceInstances。Registration只是本地的ServiceInstance,而DiscoveryClient提供了API来查找远程ServiceInstance。此外,正是ServiceInstance为我们提供了检索节点功能所需的信息(例如URI)。
  NoteSpringCloud的心跳需求
  使用SpringCloudCommandRouter时,请确保您的Spring应用程序启用了心跳事件。SpringCloud应用程序发布的心跳事件是检查DiscoveryClient中的ServiceInstances集是否已更改的触发器。此外,它还用于验证已知节点的命令路由功能是否已更改。
  因此,如果心跳事件被禁用,您的实例将不再使用当前的命令路由功能进行更新。如果是这样,这将在命令路由期间引起问题。
  存储本地功能和发现ServiceInstance的远程功能的逻辑在CapabilityDiscoveryMode中维护。因此,CapabilityDiscoveryMode为我们提供了实际检索它可以处理的ServiceInstance的命令集(如果有的话)的方法。CapabilityDiscoveryMode提供的唯一完整实现是RestCapabilityDiscoveryMode,使用RestTemplate和ServiceInstanceURI来调用可配置的端点。该端点通向MemberCapabilitiesController,后者又在该实例的RestCapabilityDiscoveryMode上公开MemberCapabilities。
  CapabilityDiscoveryMode存在装饰器,提供两个附加功能:IgnoreListingDiscoveryMode一个CapabilityDiscoveryMode装饰器,它在检索MemberCapabilities失败时会将给定的ServiceInstance放在一个列表中,以供将来验证时忽略。因此,它有效地从集合中删除了可发现的ServiceInstances。AcceptAllCommandsDiscoveryMode一个CapabilityDiscoveryMode装饰器,无论此实例可以作为命令处理什么,都表明它可以处理任何事情。如果系统中的节点是同质的(也就是说,每个人都可以处理相同的命令集),这个装饰器就会派上用场。
  Registration、DiscoveryClient和CapabilityDiscoveryMode可以说是SpringCloudCommandRouter的核心。但是,您可以为此路由器配置一些额外的东西,如下所示:RoutingStrategy负责决定哪个节点一致地接收命令的组件。默认情况下,使用AnnotationRoutingStrategy(有关更多信息,请参阅分发命令总线)。ServiceInstance过滤器此Predicate用于过滤掉通过DiscoveryClient检索到的ServiceInstance。例如,它允许删除已知不处理任何命令消息的实例。如果您在SpringCloudDiscovery服务中设置了多个服务,这可能很有用,而您不想在命令处理中考虑这些服务。ConsistentHashChangeListener如果新节点已添加到已知命令处理程序集中,添加一致的哈希更改侦听器可为您提供执行特定任务的机会。
  Note每个节点的不同命令能力
  不需要所有节点都具有相同的命令处理程序集。您可以将不同的段完全用于不同的命令类型。分布式命令总线将始终选择一个节点将命令分派给支持该特定类型命令的节点。在节点之间发送命令
  CommandBusConnector负责根据给定的路由从一个节点到另一个节点发送命令。这个扩展提供了SpringHttpCommandBusConnector,它使用普通的REST来发送命令。
  创建此服务时有三个硬性要求和一个可选配置:本地CommandBus这个localsegment是将命令分发到本地JVM的命令总线。因此,当SpringHttpCommandBusConnector接收到来自外部的命令时,或者如果它接收到对自己有意义的命令时,就会调用它。RestOperations用于将命令消息发布到另一个实例的服务。在大多数情况下,RestTemplate用于此目的。SerializerSerializer用于在发送命令消息之前对其进行序列化,并在接收到命令消息时对其进行反序列化。Executor(可选)Executor用于处理传入的命令和调度命令。默认为DirectExecutor实例。配置此扩展
  如果您也在使用SpringCloud,那么您将使用SpringBoot的可能性很高。随着配置的进行,这将选择使用axonspringcloudspringbootstarter依赖项来自动检索所有必需的bean。在任何一种情况下,您的应用程序都应该被标记为通过SpringCloud将其启用为可发现的服务。例如,这可以通过使用EnableDiscoveryClient注解主类来完成。
  仍然有很多可自定义的组件。有关一些建议,请查看以下示例:
  自定义bean配置:CustomSpringBootapp,enablingaDiscoveryClientandRegistrationthroughEnableDiscoveryClientEnableDiscoveryClientSpringBootApplicationpublicclassMyApplication{publicstaticvoidmain(String〔〕args){SpringApplication。run(MyApplication。class,args);}BeanpublicCapabilityDiscoveryModecapabilityDiscoveryMode(RestTemplaterestTemplate,Serializerserializer){returnRestCapabilityDiscoveryMode。builder()。restTemplate(restTemplate)。serializer(serializer)Allowschangingtheendpointusedtofindmembercapabilities。messageCapabilitiesEndpoint(custommessageinformationendpoint)。build();}BeanpublicCommandRouterspringCloudCommandRouter(DiscoveryClientdiscoveryClient,RegistrationlocalServiceInstance,CapabilityDiscoveryModecapabilityDiscoveryMode){returnSpringCloudCommandRouter。builder()。discoveryClient(discoveryClient)。routingStrategy(newAnnotationRoutingStrategy())。localServiceInstance(localServiceInstance)。capabilityDiscoveryMode(capabilityDiscoveryMode)。serviceInstanceFilter(customServiceInstancefilter)。consistentHashChangeListener(ConsistentHashchangelistener)。build();}OnlyrequiredifAxonSpringBootStarterisnotusedBeanQualifier(localSegment)publicCommandBuslocalSegment(){returnSimpleCommandBus。builder()。build();}BeanpublicCommandBusConnectorspringHttpCommandBusConnector(Qualifier(localSegment)CommandBuslocalSegment,RestOperationsrestOperations,Serializerserializer){returnSpringHttpCommandBusConnector。builder()。localCommandBus(localSegment)。restOperations(restOperations)。serializer(serializer)。executor(customExecutor)。build();}BeanPrimarypublicDistributedCommandBusdistributedCommandBus(CommandRoutercommandRouter,CommandBusConnectorcommandBusConnector){returnDistributedCommandBus。builder()。commandRouter(commandRouter)。connector(commandBusConnector)。build();}}
  SpringBootAutoConfiguration:需要启用DistributedCommandBusaxon。distributed。enabledtrue定义用于此segment的负载系数。默认为100axon。distributed。loadfactor100定义使用的CapabilityDiscoveryMode。默认为RESTaxon。distributed。springcloud。moderest定义用于从中检索成员功能的端点。默认为membercapabilitiesaxon。distributed。springcloud。restmodeurlmycustomendpoint定义是否应该修饰CapabilityDiscoveryMode以忽略有故障的ServiceInstancesaxon。distributed。springcloud。enableignorelistingtrue定义是否应该修饰CapabilityDiscoveryMode以接受所有类型的命令axon。distributed。springcloud。enableacceptallcommandstrue
投诉 评论 转载

华映资本季薇生存最重要,若不是业内优异选手将很难胜出记者鲁智高编辑又一家投资机构完成超10亿元级别的基金募集。5月20日,华映资本宣布人民币六期成长基金关闭,该期基金实现超额募集,总规模达到21。2亿元,其中原……2021年最佳三星Galaxy手机排行榜超骇性能完美屏,你喜哈喽,您好!我是原呵呵,点点关注吧,更多精彩内容等着您在智能手机领域,在全球品牌知名度方面,只有三星才能真正与苹果竞争。三星生产的产品种类繁多,几乎可以满足所有人的需求。……vivoNEX5工程图曝光,后置四摄配4nm芯片,还有微云台在国产手机中,vivo手机是一家拥有强大RD和创新实力的手机厂商。通过近年来的不断探索和努力,为行业推出了许多创新和受欢迎的产品。这些产品不仅为RD和vivo手机的设计提供了宝……为什么类脑智能工程国家实验室落户于合肥市?类脑智能工程实验室全名类脑智能技术及应用国家工程实验室,之所以落户合肥,主要有几个方面的原因:1、类脑国家工程实验室是由中国科学技术大学牵头组建的,中科院、复旦大学、清华……zmqPUBSUB模式传输(C)运行系统:centos7安装依赖:yumyinstallwgetwgethttps:dl。fedoraproject。orgpubepel7x8664Packagesee……过年开新能源回家是什么体验?憋了一肚子心里话,我不吐不快!去年,由于疫情,没办法回家过年;今年,疫情得到了较好控制,我也可以踏上返乡之路。出于安全考虑,我没选择高铁或飞机,而是准备自驾返乡。但其实,我内心是有点犹豫的,新提的岚图FRE……Prometheus监控主机基础指标配置及告警1、监控主机指标这是一篇介绍主机使用Prometheus监控CPU、磁盘、内存、负载等基础数据的文章,目前生产可用,使用的是nodeexporter0。18。1版本,操作……iOS14。7beta5暗示iOS或将支持第三方应用来源?前几天苹果向全体开发者用户和公测用户推送了iOS14。7beta5(18G5063a),其中主要更新仍是针对底层性能优化和bug修复。但还有一个小的细节改动可能会改变整个……为什么苹果一直没快充肯定会有人反驳说不是有pd18w快充吗?那是需要购买的,而且放在2021年随便一个厂商都不止18w。苹果不出高性能快充,应该是人他们在研发方面,有一些技术还没有解决吧,所……AxonFramework扩展除了默认的AxonServer之外,SpringCloud是分发命令总线(命令)的另一种方法。SpringCloudExtension使用SpringCloud描述的服务……邮惠万家等两家新银行成立,扎根农村市场业务,农民朋友有福了引言现代人的生活与上个世纪上比已经发生了翻天覆地的变化,现代人每天的生活和工作已经离不开互联网。在进入到互联网时代后人们享受到了空前的便捷,购物、出行、预定、支付等各种活……程序员半夜12点没加班,领导你来我公司养生呢?网友凭什么?每次阿里腾讯的朋友聊天问候对方的第一句话就是,你们加班多吗?每次阿里腾讯的朋友想要转岗到另一个部门问最多的就是,那边加班多吗?每次阿里腾讯的朋友跳槽最关心的问题就是,他们加班多……
BOSE发布扬声器850支持杜比全景声内容HarmonyOS2升级汇总,135款设备已升级正式版,6款原来jdk自带了这么好玩的工具使用jstack定位死循环企业为什么要上管理系统软件?使用红米notePro11三个月的感觉微信3个功能容易被骗子盯上,要快速查清并清除,老年人也需知道数字化转型的10个关键词上手了丐版MacBookPro之后,我发现它很强,但也有点菜你为什么卸载了WPS?交通部计划2025年高速公路快速充电覆盖率达802022年,用5G网络追光特斯拉起诉项立刚,后者回应积极应诉
市面上比较火的七座MPV车型该如何选择?最后大佬高顶改装效果关注盘中最高涨15,华晨中国出售华晨宝马股权款项将派特别息淘米水洗脸的好处祛斑去角质统统搞定上海物资配送不畅到底堵在哪里?205大战219!文班亚马NBA首秀!和筷子榜眼飚分热传聚热 世界史罗马帝国母亲节念母亲佛祖与屌丝的对话笑喷了茭白叶斑病的防治浅论高中语文教学中进行传统文化教育的途径走向四季寻古城品古韵这样的保定爱了

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找江西南阳嘉兴昆明铜陵滨州广东西昌常德梅州兰州阳江运城金华广西萍乡大理重庆诸暨泉州安庆南充武汉辽宁