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

山东建设银行招聘网站wordpress 获取页面标题

山东建设银行招聘网站,wordpress 获取页面标题,联系客户做网站,WordPress批量修改文章目录 1. 中间件技术 2. MetaQ中间件 3. MetaQ编程实践 1. 中间件技术 0x1: 中间件简介 中间件(Middleware)是提供系统软件和应用软件之间连接的软件#xff0c;以便于软件各部件之间的沟通#xff0c;特别是应用软件对于系统软件的集中的逻辑#xff0c;在现代信息技术应用框…目录 1. 中间件技术 2. MetaQ中间件 3. MetaQ编程实践   1. 中间件技术 0x1: 中间件简介 中间件(Middleware)是提供系统软件和应用软件之间连接的软件以便于软件各部件之间的沟通特别是应用软件对于系统软件的集中的逻辑在现代信息技术应用框架如Web服务、面向服务的体系结构等中应用比较广泛如: 1. 数据库 2. Apache的Tomcat 3. IBM公司的WebSphere 4. BEA公司的WebLogic[[应用服务器] 5. 东方通公司的Tong系列中间件 6. Kingdee公司的等 都属于中间件中间件技术本质上就是在计算机系统不同层次的模块之间的异构、跨协议的通信问题严格来讲中间件技术已经不局限于应用服务器、数据库服务器。中间件技术创建在对应用软件部分常用功能的抽象上将常用且重要的 1. 过程调用 2. 分布式组件 3. 消息队列 4. 事务 5. 安全 6. 连结器 7. 商业流程 8. 网络并发 9. HTTP服务器 10. Web Service 等功能集于一身或者分别在不同产品中分别完成 我国学术界一般认可的定义是中间件是指网络环境下处于操作系统、数据库等系统软件和应用软件之间的一种起连接作用的分布式软件主要解决异构网络环境下分布式应用软件的互连与互操作问题提供标准接口、协议屏蔽实现细节提高应用系统易移植性 0x2: 中间件的特征(内涵) 总的来说中间件有几个非常重要的特征 1. 平台化 所谓平台就是能够独立运行并自主存在为其所支撑的上层系统和应用提供运行所依赖的环境。中间件是一个平台因此中间件是必须独立存在是运行时刻的系统软件它为上层的网络应用系统提供一个运行环境并通过标准的接口和API来隔离其支撑的系统实现其独立性也就是平台性。J2EE应用服务器提供JAVA应用的运行环境就是经典的中间件2. 应用支撑 中间件的最终目的是解决上层应用系统的问题而且也是软件技术发展到今天对应用软件提供最完善彻底的解决方案。1) 高级程序设计语言的发明使得软件开发变成一个独立的科学和技术体系而操作系统平台的出现使得应用软件通过标准的API接口实现了软件与硬件的分离。2) 现代面向服务(SOA)的中间件在软件的模型、结构、互操作以及开发方法等四个方面提供了更强的应用支撑能力2.1) 模型构件模型弹性粒度化通过抽象层度更高的构件模型实现具备更高结构独立性、内容自包含性和业务完整性的可复用构件即服务(RESTFUL API就是一个最好的例子)。并且在细粒度服务基础上提供了更粗粒度的服务封装方式即业务层面的封装形成业务组件就可以实现从组件模型到业务模型的全生命周期企业建模的能力。2.2) 结构结构松散化将服务描述和服务功能实现分离将服务的使用者和提供者分离从而避免分布式应用系统构建和集成时常见的技术、组织、时间等不良约束。2.3) 互操作交互过程标准化将与互操作相关的内容进行标准化定义如服务封装、描述、发布、发现、调用等契约通信协议以及数据交换格式等等。最终实现访问互操作、连接互操作和语义互操作(RESTFUL、SOAP、WPF、WebService、SCA/SDO)2.4) 开发集成方法应用系统的构建方式由代码编写转为主要通过服务间的快捷组合及编排完成更为复杂的业务逻辑的按需提供和改善从而大大简化和加速应用系统的搭建及重构过程(一种典型的轻耦合思想)而要最终解决软件的质量问题、效率问题、互操作问题、灵活应变问题这四大问题需要在软件技术的内在结构(Structure)、架构(Architecture)层面进行思考。解决这些问题技术的本质是复用、松耦合、互操作(标准)等软件技术的内在机制。这也是中间件技术和产品的本质特征3. 软件复用 软件复用即软件的重用也叫再用是指同一事物不作修改或稍加改动就多次重复使用。从软件复用技术的发展来看就是不断提升抽象级别扩大复用范围。最早的复用技术是子程序人们发明子程序就可以在不同系统之间进行复用了。但是子程序是最原始的复用因为这种复用范围是一个可执行程序内复用静态开发期复用如果子程序修改意味着所有调用这个子程序的程序必须重新编译、测试和发布 复用对象复用范围1) 子程序: 一个可执行程序内复用: 静态开发期复用2) 组件(DLL、Com..): 系统内复用动态运行期复用3) 企业对象组件(Com、.NET、EJB..): 企业网络内复用不同系统之间复用4) 服务(RESTFUL、SOAP、WPF、WebService、SCA/SDO): 不同企业之间、跨系统、跨异构环境复用动态可配置4. 耦合关系 1) 分布式对象技术将连接逻辑进行分离2) 消息中间件将连接逻辑进行异步处理增加了更大的灵活性3) 消息代理和一些分布式对象中间件将数据转换也进行了分离4) 而SOA架构通过服务的封装实现了业务逻辑与网络连接、数据转换等进行完全的解耦5. 互操作性 在软件的互操作方面传统中间件只是实现了访问互操作即通过标准化的API实现了同类系统之间的调用互操作而连接互操作还是依赖于特定的访问协议如JAVA使用RMICORBA使用IIOP等。而SOA通过标准的、支持Internet、与操作系统无关的SOAP协议实现了连接互操作。而且服务的封装是采用XML协议具有自解析和自定义的特性这样基于SOA的中间件还可以实现语义互操作 总之服务化体现的是中间件在完整业务复用、灵活业务组织方面的发展趋势其核心目标是提升IT基础设施的业务敏捷性。因此中间件将成为SOA的主要实现平台 Relevant Link: http://zh.wikipedia.org/wiki/%E4%B8%AD%E9%97%B4%E4%BB%B6 http://kb.cnblogs.com/page/196448/ http://jm.taobao.org/   2. MetaQ中间件 0x1: MetaQ的应用场景 假设我们有这么一个应用场景为了完成一个用户注册操作可能需要将用户信息写入到用户库中然后通知给红包中心给用户发新手红包然后还需要通知博客系统给用户准备对应的博客账号进行合法性验证告知SNS系统给用户导入新的用户等10步操作。那么针对这个场景一个最简单的设计方法就是串行的执行整个流程 //全称串行操作 用户注册-通知给红包中心给用户发新手红包-博客系统给用户准备对应的博客账号-进行合法性验证-告知SNS系统给用户导入新的用户 通过业务分析我们能够得知用户的实际的核心流程其实只有一个就是用户注册。而后续的准备博客帐号通知SNS等操作虽然必须要完成但却是不需要让用户等待的。这种模式有个专业的名词就叫最终一致即实际上这并不是一个严格强制的串行操作从业务的角度上来说有很多步骤完全是可以异步完成的只要最终的结果是最终一致的就可以 0x2: MetaQ技术原理 METAQ是一款完全的队列模型消息中间件服务器使用Java语言编写可在多种软硬件平台上部署。客户端支持Java、C编程语言 MetaQ对外提供的是一个队列服务内部实现也是完全的队列模型这里的队列是持久化的磁盘队列具有非常高的可靠性并且充分利用了操作系统cache来提高性能 1. MetaQ是一个队列模型的消息中间件具有高性能、高可靠、高实时、分布式特点。 2. Producer、Consumer、队列都可以分布式。 3. 能够保证严格的消息顺序 4. 提供丰富的消息拉取模式 5. 高效的订阅者水平扩展能力 6. 实时的消息订阅机制 7. 亿级消息堆积能力 MetaQ的存储结构是根据大规模互联网应用需求完全重新设计的一套存储结构使用这套存储结构可以支持上万的队列模型并且可以支持消息查询、分布式事务、定时队列等功能 MetaQ内部大部分功能都靠队列来驱动那么必须支持足够多的队列才能更好的满足业务需求MetaQ可以在单机支持上万队列这里的队列全部为持久化磁盘方式从而对IO性能提出了挑战。MetaQ是这样解决的 1. Message全部写入到一个独立的队列完全的顺序写 2. Message在文件的位置信息写入到另外的文件串行方式写 通过以上方式既做到数据可靠又可以支持更多的队列 Relevant Link: http://blog.csdn.net/blogdevteam/article/details/8449916 https://github.com/killme2008/Metamorphosis/wiki http://m.bianceng.cn/web/Skills/201407/42090.htm http://www.bkjia.com/ASPjc/871354.html   3. MetaQ编程实践 消息中间件中有两个角色: 消息生产者(Producer)和消息消费者(Consumer)。Meta里同样有这两个概念消息生产者负责创建消息并发送到Meta服务器(Broker)Meta服务器会将消息持久化到磁盘消息消费者从Meta服务器拉取消息并提交给应用消费 回顾我们之前说的MetaQ的架构图 要使用MetaQ进行分布式消息通信编程学习就必须要实现最基本的架构搭建 0x1: 配置Zookeeper集群 MetaQ使用zookeeper发布和订阅服务并默认使用zookeeper存储消费者offset因此你需要首先安装一个zookeeper到某台机器上或者使用某个现有的zk集群 /mate-queue/taobao/metamorphosis-server-wrapper/conf/server.ini 使用内置的zookeeper服务器进行搭建 [zookeeper] zk.zkConnectlocalhost:2181 zk.zkSessionTimeoutMs30000 zk.zkConnectionTimeoutMs30000 zk.zkSyncTimeMs5000 0x2: 启动Zookeeper //停止local模式启动的broker1并重新以集群模式启动 bin/metaServer.sh start 0x3: 引入MetaQ需要依赖的JAR包 http://fnil.net/downloads/index.html 包括client、server的 0x4: Producer.java package com.taobao.metamorphosis.example;import java.io.BufferedReader; import java.io.InputStreamReader;import java.io.BufferedReader; import java.io.InputStreamReader;import com.taobao.metamorphosis.Message; import com.taobao.metamorphosis.client.MessageSessionFactory; import com.taobao.metamorphosis.client.MetaClientConfig; import com.taobao.metamorphosis.client.MetaMessageSessionFactory; import com.taobao.metamorphosis.client.producer.MessageProducer; import com.taobao.metamorphosis.client.producer.SendResult; import com.taobao.metamorphosis.utils.ZkUtils.ZKConfig;public class Producer {public static void main(String[] args) throws Exception {final MetaClientConfig metaClientConfig new MetaClientConfig();final ZKConfig zkConfig new ZKConfig();//设置zookeeper地址zkConfig.zkConnect 192.168.207.128:2181;metaClientConfig.setZkConfig(zkConfig);// New session factory,强烈建议使用单例MessageSessionFactory sessionFactory new MetaMessageSessionFactory(metaClientConfig);/** create producer,强烈建议使用单例* 消息生产者的接口是MessageProducer你可以通过它来发送消息*/MessageProducer producer sessionFactory.createProducer();// publish topicfinal String topic test;/** 这一步在发送消息前是必须的你必须发布你将要发送消息的topic* 这是为了让会话工厂帮你去查找接收这些topic的meta服务器地址并初始化连接* 这个步骤针对每个topic只需要做一次多次调用无影响*/producer.publish(topic);BufferedReader reader new BufferedReader(new InputStreamReader(System.in));String line null;while ((line reader.readLine()) ! null) {/** send message* 在Meta里每个消息对象都是Message类的实例Message表示一个消息对象它包含这么几个属性* 1) id: Long型的消息id,消息的唯一id系统自动产生用户无法设置在发送成功后由服务器返回发送失败则为0。* 2) topic: 消息的主题订阅者订阅该主题即可接收发送到该主题下的消息生产者通过指定发布的topic查找到需要连接的服务器地址必须。* 3) data: 消息的有效载荷二进制数据也就是消息内容meta永远不会修改消息内容你发送出去是什么样子接收到就是什么样子。消息内容通常限制在1M以内我的建议是最好不要发送超过上百K的消息必须。数据是否压缩也完全取决于用户。* 4) attribute: 消息属性一个字符串可选。发送者可设置消息属性来让消费者过滤。*/SendResult sendResult producer.sendMessage(new Message(topic, line.getBytes()));// check resultif (!sendResult.isSuccess()) {System.err.println(Send message failed,error message: sendResult.getErrorMessage());}else {System.out.println(Send message successfully,sent to sendResult.getPartition());}}}} 0x5: AsyncConsumer.java package com.taobao.metamorphosis.example;import java.util.concurrent.Executor;import com.taobao.metamorphosis.Message; import com.taobao.metamorphosis.client.MessageSessionFactory; import com.taobao.metamorphosis.client.MetaClientConfig; import com.taobao.metamorphosis.client.MetaMessageSessionFactory; import com.taobao.metamorphosis.client.consumer.ConsumerConfig; import com.taobao.metamorphosis.client.consumer.MessageConsumer; import com.taobao.metamorphosis.client.consumer.MessageListener; import com.taobao.metamorphosis.utils.ZkUtils.ZKConfig;public class AsyncConsumer {public static void main(String[] args) throws Exception {final MetaClientConfig metaClientConfig new MetaClientConfig();final ZKConfig zkConfig new ZKConfig();//设置zookeeper地址zkConfig.zkConnect 192.168.207.128:2181;metaClientConfig.setZkConfig(zkConfig);// New session factory,强烈建议使用单例MessageSessionFactory sessionFactory new MetaMessageSessionFactory(metaClientConfig);// subscribed topicfinal String topic test;// consumer groupfinal String group meta-example;/** create consumer,强烈建议使用单例* 通过createConsumer方法来创建MessageConsumer注意到我们传入一个ConsumerConfig参数* 这是消费者的配置对象。每个消息者都必须有一个ConsumerConfig配置对象* 我们这里只设置了group属性这是消费者的分组名称。* Meta的Producer、Consumer和Broker都可以为集群。* 消费者可以组成一个集群共同消费同一个topic发往这个topic的消息将按照一定的负载均衡规则发送给集群里的一台机器。* 同一个消费者集群必须拥有同一个分组名称也就是同一个group。我们这里将分组名称设置为meta-example*/MessageConsumer consumer sessionFactory.createConsumer(new ConsumerConfig(group));/** subscribe topic* 订阅消息通过subscribe方法这个方法接受三个参数 * 1) topic订阅的主题* 2) maxSize因为meta是一个消费者主动拉取的模型这个参数规定每次拉取的最大数据量单位为字节这里设置为1M默认最大为1M。* 3) MessageListener消息监听器负责消息消息。*/consumer.subscribe(topic, 1024 * 1024, new MessageListener() {public void recieveMessages(Message message) {System.out.println(Receive message new String(message.getData()));}public Executor getExecutor() {// Thread pool to process messages,maybe null.return null;}});// complete subscribeconsumer.completeSubscribe();} } Relevant Link: https://github.com/killme2008/Metamorphosis/wiki/%E5%A6%82%E4%BD%95%E5%BC%80%E5%A7%8B http://www.it165.net/admin/html/201402/2409.html   Copyright (c) 2014 LittleHann All rights reserved  转载于:https://www.cnblogs.com/LittleHann/p/3970746.html
http://wiki.neutronadmin.com/news/97759/

相关文章:

  • 项目外包平台商城网站建设用乐云seo系统
  • 怎么生成网站源代码网页设计师必备软件
  • 高新区做网站做网站有前景吗
  • 建站公司用的 商城系统成都线上超市有哪些平台
  • 中国航空集团建设开发有限公司网站网站经营与建设
  • 网站推广策划的策略1号店网上购物商城
  • 小网站要备案吗外贸推广信邮件
  • 购物网站页面设计思路知识库主题 wordpress
  • 网站设计做哪些的如何制作链接推广
  • 自己做网站打不开是怎么回事怎么做自己的微信网站
  • 拟定网站优化方案建设个网站要多少钱
  • 网站检测工具绍兴网站制作网站
  • 中国关于生态文明建设的网站什么网站做外贸好
  • 站长工具seo综合查询是什么深圳seo网络公司
  • 做a货包好的网站敖汉旗住房和城乡建设局网站
  • 多少企业需要网站建设济南网站制作工作室
  • 建设电商网站哪个平台比较好商务网站底部设计
  • 要加强分院网站建设另外网站是做的IPv4还是IPv6
  • 企业网站建设的一般原则包括平面设计排版
  • 北京网站设计建设公司网站制作自助
  • 海南建设网站营销软文范文
  • 做网站后台服务器什么最好医院网站建设 中企动力
  • 商业网站开发需求网页qq登录不扫二维码
  • 软件工程课程网站开发深圳专业网站建设企业
  • 网站正能量晚上免费软件网页设计基础知识点考试
  • 企业网站建设报价单医院内网网站建设
  • 网站与云平台区别吗电商后台管理系统
  • 怎么做网站弹幕效果网页设计图片在左文字在右
  • 网站不同颜色wordpress程序在ftp中上传到空间 网页怎么打不开
  • 网页建站费用中小企业网络营销存在的问题研究论文