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

深圳分销网站设计多少钱全自动行业管理系统

深圳分销网站设计多少钱,全自动行业管理系统,婚纱摄影网页,wordpress怎么新建子域名因此#xff0c;您的分布式体系结构如下图所示#xff0c;您刚刚从企业那里收到了一项要求#xff0c;以确保生产者发送并随后传输到下游系统#xff08;消费者#xff09;的消息的SLA必须快且永远不会慢于此。 400毫秒。 要求说#xff1a; 从生产者发送到任何消费者的… 因此您的分布式体系结构如下图所示您刚刚从企业那里收到了一项要求以确保生产者发送并随后传输到下游系统消费者的消息的SLA必须快且永远不会慢于此。 400毫秒。 要求说 从生产者发送到任何消费者的消息的延迟绝不应慢于400毫秒。 听起来很熟悉 对我来说经验告诉我如果将来我想保护SLA则还需要使测试自动化以免引入瓶颈而这会增加消息的延迟。 但是怎么做呢 生产者和使用者位于不同的机器中并且某些使用者不是用Java编写的。 另外在生产者和消费者之间有一个队列或Web服务或RMI或ESB或其他组件或其他任何东西因此测试起来并不容易。 好吧所有组件都以类似的方式写入日志那么为什么不使用日志作为测试数据呢 例如这些是2个示例日志一个来自生产者发出消息id 1546366另一个来自接收消息的使用者之一id 1546366 生产者日志 2013-02-19 10:09:05,795 INFO [org.grep4j.demo.input.core.InputCoreMessageSender] (pool-19-thread-9) Input::MessageSender::Message(1546366) Sent Successfully 消费者日志 2013-02-19 10:09:06,161 INFO [org.grep4j.demo.handler.bean.mdb.SingleDestPacketHandler] (Thread-62314 (HornetQ-client-global-threads-989457197)) Handler::Packet::Message(1546366) Received::PacketId(982336426)::State(NORMAL)::Dest(CONSUMER4, 1)::DataLevel(EVENT, 7)::Op(CREATE, C)::GlobalId(1546366)::Priority(1)::Src(GUI, 1::Ids(EventId1546366,SFBId1546366,isBirTypefalse,inBirfalse)) 这就是我使用Grep4j进行自动性能测试的样子 package com.gdg.grep4j.demo; import static com.gdg.grep4j.demo.profiles.Profiles.consumer1; import static com.gdg.grep4j.demo.profiles.Profiles.consumer2; import static com.gdg.grep4j.demo.profiles.Profiles.consumer3; import static com.gdg.grep4j.demo.profiles.Profiles.producer; import static com.gdg.grep4j.demo.services.TimeService.extractTime; import static org.grep4j.core.Grep4j.constantExpression; import static org.grep4j.core.Grep4j.grep; import static org.grep4j.core.fluent.Dictionary.on; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.number.OrderingComparison.lessThan; import static org.junit.Assert.assertThat; import org.grep4j.core.result.GrepResults; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; Test public class MessageDistributionPerformanceTest {private static final long MAX_ACCETABLE_LATENCY 400L;private long producerTime 0;private GrepResults consumersResults;BeforeTestpublic void triggerMessageDispatcher() {System.out.println(Producing and firing a Message(1546366) to downstream systems...);}BeforeTestpublic void extractProducerTime() {GrepResults producerResult grep(constantExpression(Message(1546366) Sent Successfully), on(producer));producerTime extractTime(producerResult.toString());}BeforeTestpublic void grepConsumerLogs() {consumersResults grep(constantExpression(Message(1546366) Received),on(consumer1, consumer2, consumer3));}public void testConsumer1Latency() {long consumer1Time extractTime(consumersResults.filterOnProfile(consumer1).toString());assertThat((consumer1Time - producerTime),is(lessThan(MAX_ACCETABLE_LATENCY)));}public void testConsumer2Latency() {long consumer2Time extractTime(consumersResults.filterOnProfile(consumer2).toString());assertThat((consumer2Time - producerTime),is(lessThan(MAX_ACCETABLE_LATENCY)));}public void testConsumer3Latency() {long consumer3Time extractTime(consumersResults.filterOnProfile(consumer3).toString());assertThat((consumer3Time - producerTime),is(lessThan(MAX_ACCETABLE_LATENCY)));} } 配置文件是grep目标上下文在我的情况下所有配置文件都是远程计算机要更好地了解配置文件请参阅Grep4j页面 。 TimeService只是一个简单的服务类用于提取日志中的时间。 package com.gdg.grep4j.demo.services; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; import java.util.regex.Matcher; import java.util.regex.Pattern; public class TimeService {private static final Pattern timePattern Pattern.compile(([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9]) ([0-9][0-9]|2[0-3]):([0-9][0-9]):([0-9][0-9]),([0-9][0-9][0-9]));public static long extractTime(String text) {Matcher lm timePattern.matcher(text);if (lm.find()) {SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss,SSS);sdf.setTimeZone(TimeZone.getTimeZone(UTC));String inputString lm.group();Date date null;try {date sdf.parse(inputString);} catch (ParseException e) {e.printStackTrace();}return date.getTime();} else {throw new IllegalArgumentException(timePattern not found);}} } 在几行简单的代码中我进行了非常灵活的测试我可以测试日志中生成的任何内容。 对于完整的代码 https : //github.com/marcocast/grep4j-gdg.git 参考通过我们的JCG合作伙伴 Marco Castigliego的grep4j 可以在“ 删除重复和修复不良名称”博客上轻松测试分布式组件上的SLA 。 翻译自: https://www.javacodegeeks.com/2013/02/easy-testing-slas-on-distributed-components-with-grep4j.html
http://www.zqtcl.cn/news/117155/

相关文章:

  • 建设高端网站公司的目的淮南房产网
  • 网站建设 中山网站建设新得体会
  • 快速搭建网站视频教程看想看的做想做的电影网站好
  • 网站聊天怎么做2345网址导航智能主版
  • 如何优化网站加载速度做推广公司
  • 网站下载不了视频php网站 数据库链接
  • 制作网页网站教程wordpress建立扁平化
  • 网站建设小知识郑州网站建设找伟置
  • 苏中建设官方网站旅游做攻略用什么网站好
  • 信息门户网站制作wordpress改商城
  • 企业类网站有哪些甘肃省和住房建设厅网站
  • 嘉兴市住房和城乡建设局网站wordpress nodejs版本
  • 做网站 百度推广深圳外贸招聘
  • 网站留言板功能网站建设 核对流程
  • WordPress输出当前网址郑州官网seo厂家
  • c 网站开发框架wordpress建站的教程
  • 营销 推广 网站王烨演的电视剧
  • 阳泉营销型网站建设网站360做的标记如何取消
  • win7 iis asp网站配置文件注册建设网站的公司网站
  • 品牌网站建设预算网站制作过程内容
  • 石河子建设网站网站开发参考资料
  • 网站开发招标参数wordpress个性化友情链接页面
  • 建设企业网站有哪些wordpress进入中国市场
  • 大学社团网站建设虚拟主机如何做网站
  • 销售的产品是帮别人做网站电脑搭建网站
  • h5商城网站是什么莆田网站建设技术托管
  • 优惠券怎么做自己的网站英文网站怎么设计
  • 做网站怎么样才能排在首页做微网站的公司哪家好呢
  • 分析网站外链分析工具wordpress同步简书
  • 电子商务网站案例分析互动游戏制作软件