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

找外包公司做个网站多少钱软文广告是什么意思

找外包公司做个网站多少钱,软文广告是什么意思,设计网站架构,好看的网站首页图片在本系列的前一部分中#xff0c;我们介绍了OpenHub框架 。 这部分显示了框架最强大的功能之一- 异步消息传递模型 。 当源系统无法等待目标系统的响应时#xff0c;将使用系统之间的异步通信。 有以下几个原因#xff1a; 源系统必须尽可能地响应 #xff0c;并且不受外… 在本系列的前一部分中我们介绍了OpenHub框架 。 这部分显示了框架最强大的功能之一- 异步消息传递模型 。 当源系统无法等待目标系统的响应时将使用系统之间的异步通信。 有以下几个原因 源系统必须尽可能地响应 并且不受外部影响通信缓慢目标系统不稳定等的影响 目标系统中的处理需要很多时间 异步通信对性能和流量产生积极影响 异步方案 当您决定异步通信时您必须考虑可能的情况 目标系统必须确认传入消息已成功保存 并准备进行进一步处理。 是否应将异步过程的最终结果通知源系统 如果异步处理失败怎么办 如果存在暂时性技术错误 例如与另一个系统的通信失败 请尝试几次或者由于业务错误 例如输入数据无效而停止进一步处理 。 在异步处理期间会调用其他系统- 如果对第一个系统的调用可以但对第二个系统的调用失败该怎么办 异步处理必须是幂等的并跳过第一个成功的呼叫然后仅重试第二个呼叫。 异步过程可能很棘手因此最好将一个大进程父进程划分为较小的子进程进程 。 如果处理了子进程则父进程也将完成。 有时您必须保证传入请求的顺序 请求的到达顺序与发送的顺序不相同并按照确切的顺序进行处理。 它是异步处理您需要对其进行监视或在发生意外情况 例如异步过程失败 时自动得到通知 。 有时您需要保存数据或异步过程的当前状态以使其成功完成例如第一次调用外部系统的结果就是第二次调用的输入。 当您开始考虑所有这些情况时您会发现从头开始实施它并不简单。 OpenHub框架内置了对异步消息处理的支持。 它易于使用但同时又强大又灵活。 并且也是可配置的例如该过程应再次运行多少次 在哪个时间间隔 异步路由实现 使用OpenHub框架的路由实现有两个子路由 一种用于处理传入消息 RouteIn 一种用于异步过程实现 RouteOut /*** Route definition for asynchronous operation translate via web services.*/ CamelConfiguration(value AsyncTranslateWsRoute.ROUTE_BEAN) public class AsyncTranslateWsRoute extends AbstractBasicRoute {static final String ROUTE_BEAN asyncTranslateWsRouteBean;private static final String OPERATION_NAME asyncTranslateWs;static final String ROUTE_ID_ASYNC_IN getInRouteId(ServiceEnum.TRANSLATE, OPERATION_NAME);static final String ROUTE_ID_ASYNC_OUT getOutRouteId(ServiceEnum.TRANSLATE, OPERATION_NAME);static final String URI_ASYNC_OUT direct: ROUTE_ID_ASYNC_OUT;Overrideprotected void doConfigure() throws Exception {// asyncTranslate - input asynch messagecreateAsyncRouteIn();// asyncTranslate - process delivery (asynchronous execution)createAsyncRouteOut();}/*** Route for asynchronous strongasyncTranslate/strong input operation.* p/* Prerequisite: none* p/* Output: {link AsyncTranslateResponse}*/private void createAsyncRouteIn() {Namespaces ns new Namespaces(h, TranslateWebServiceConfig.TRANSLATE_SERVICE_NS);// note: mandatory parameters are set already in XSD, this validation is extraXPathValidator validator new XPathValidator(/h:asyncTranslateRequest, ns, h:inputText);AsynchRouteBuilder.newInstance(ServiceEnum.TRANSLATE, OPERATION_NAME,getInWsUri(new QName(TranslateWebServiceConfig.TRANSLATE_SERVICE_NS, asyncTranslateRequest)),new AsynchResponseProcessor() {Overrideprotected Object setCallbackResponse(CallbackResponse callbackResponse) {AsyncTranslateResponse res new AsyncTranslateResponse();res.setConfirmAsyncTranslate(callbackResponse);return res;}}, jaxb(AsyncTranslateResponse.class)).withValidator(validator).build(this);}/*** Route for strongasyncTranslate/strong operation - process delivery (asynchronous execution).* Only input text is logged in this case.* p/* Prerequisite: none*/private void createAsyncRouteOut() {final String URI_LOG_INPUT_PARAMS direct:logInputParams;from(URI_ASYNC_OUT).routeId(ROUTE_ID_ASYNC_OUT)// xml - AsyncTranslateRequest.unmarshal(jaxb(AsyncTranslateRequest.class)).to(extcall:message: URI_LOG_INPUT_PARAMS);from(URI_LOG_INPUT_PARAMS).validate(body().isInstanceOf(AsyncTranslateRequest.class)).log(LoggingLevel.DEBUG, Asynchronous execution - input text ${body.inputText} (lang: ${body.inputLang}));} } RouteIn使用AsynchRouteBuilder通过以下功能轻松配置 定义哪个传入的Web Service请求应开始此路由 定义源系统的确认响应。 输入路由成功执行后将返回对源系统的同步响应。 定义验证器该验证器检查传入请求中是否存在元素inputText RouteOut定义了异步过程本身。 输入请求 AsyncTranslateRequest 仅在这种情况下记录。 就这样。 周围的一切都由OpenHub框架实现。 外部通话 您的路线实施通常会调用外部系统或其他路线。 如果实现异步流程则必须遵守幂等规则-流程的每个部分都可以被多次调用并且必须确保所有调用的行为相同。 有时外部系统/路由本身是幂等的然后您可以根据需要多次调用它。 如果没有那么您必须在实现中对其进行控制。 因此我们将Camel组件设为extcall 。 上例中的组件excall确保即使整个异步过程运行了多次使用URI_LOG_INPUT_PARAMS路由也会被精确地调用一次。 外部通话说明 描述 在异步消息处理期间调用了两个外部系统 在处理过程中我们可以返回两个extcall的停靠点 如果在对外部系统1的第一次请求之前发生错误则下一个处理尝试将从头开始与新消息到达相同 漏斗和节流组件 其他强大的组件是funnel和throttling 。 Funnel组件用于过滤特定集成点处的并发消息。 这种过滤可确保在该位置仅处理一个特定类型的消息或同时具有特定信息的消息即使是以保证的顺序可选选项进行处理。 对于与外部系统进行通信很有用该外部系统一次只能接受一个特定实体例如订购系统中的一个特定客户的一条输入消息。 通过第二个组件throttling 您可以确保特定端点不会过载或者我们不会超出任何外部服务的商定SLA。 Throttling组件也可以用于同步消息。 所有组件都支持群集。 实施细节 OpenHub需要保存的所有内容都保存在数据库中–类型没有限制。 无需调整JMS / MQ系统即可支持异步消息传递。 然后您可以使用自己喜欢的任何工具进行日常工作- 数据模型简单清晰并且文档齐全。 数据库工具比JMS / MQ系统多得多。 有时我们听说在这种情况下使用数据库是一种反模式从性能的角度来看在某些情况下它可能是瓶颈。 这取决于实际项目中的集成用例但在处理数十万个并发请求的实际项目中我们仍然没有严格的性能限制。 我们准备添加JMS / MQ实现但是到目前为止还不需要。 不必仅通过传入请求启动异步过程–您还可以使用调度作业在需要的任何时候启动路由然后将其留给OpenHub框架。 所有示例都可以在GitHub的参考实现中找到–参见https://github.com/OpenWiseSolutions/openhub-ri 翻译自: https://www.javacodegeeks.com/2017/10/asynchronous-communication-made-openhub-framework.html
http://www.pierceye.com/news/58936/

相关文章:

  • 一个备案可以做几个网站电商网站怎么做搜索
  • 视频制作网站素材免费网站收录入口
  • 石家庄网站制作长沙怎样给网站做百度推广
  • 上海快速建站公众号注册入口官网
  • 本网站只做信息展示wordpress 点不到子菜单
  • 网站权重排名wordpress程序员
  • 没有网站可以做域名解析吗扬州建设银行网站
  • 企业网站的设计与实现摄影作品投稿网站
  • 校车网站建设如何在百度上做广告
  • 车辆对比那个网站做的好排名优化专家
  • 有建站模板如何建设网站廊坊网站建设技术支持
  • 两个网站如何做端口映射庆阳logo设计
  • 哪家网站建设服务好医院风格 wordpress
  • 东营做网站搭建网站钱
  • 合肥搭建网站电商大数据查询平台免费
  • 网站服务器试用太原免费网站建设
  • 石家庄网站建设培训班网站制作设计收费标准
  • 优秀网站模板下载郑州网站建设天强科技
  • 绍兴网站建设制作网站制作模板程序
  • 西安高科鱼化建设有限公司网站html网页制作内容
  • 什么是网站降权处理wordpress下载管理器
  • 建网站 外贸网页设计实训总结500字
  • PHP网站名字招标网有哪些
  • 东莞网站建设基础型杭州网站推广优化
  • 网站界面宽公益网站建设
  • 网站平台如何推广ppt电子商务网站建设
  • 博物馆网站 微信 微博 建设方案wordpress做注册登陆界面
  • 网站建设的规划和设计仿 手机 网站模板html
  • 做跨境电商的人才网站帆软社区app
  • 建设移动门户网站网站的服务器是什么