首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

电商平台备战促销季的运维秘诀——高可用服务层

高可用设计是互联网系统架构的基础之一,以天猫双十二交易数据为例,支付宝峰值支付次数超过 8 万笔。大家设想一下,如果这个时候系统出现不可用的情况,那后果将不可想象。 而解决这个问题的根本就是服务层的高可用。 什么是服务层 众所周知,服务层主要用来处理网站业务逻辑的,是大型业务网站的核心。比如下面三个业务系统就是典型的服务层,提供基础服务功能的聚合 用户中心:主要负责用户注册、登录、获取用户用户信息功能 交易中心:主要包括正向订单生成、逆向订单、查询、金额计算等功能 支付中心:主要包括订单支付、收银台、对账等

02

motan之异步调用

一、什么是异步调用?  1.同步调用 方法间的调用,假设A方法调用B方法,A方法等待B方法执行完毕后才执行本身,这个同步调用,是具有阻塞式的调用,如果B方法非常耗时,那么整个方法的执行效率将会非常低; 2.异步调用 同样是方法间的调用,假设A方法调用B方法,不同的是A方法调用B方法后,B方法很快的返回给A方法个答复(这个答复不是执行完整个B方法的答复),A方法收到答复后就执行本身,这个是异步调用,不管B方法是否耗时,整体的效率都提升。 二、motan的异步调用入门 1.首先,以入门案例为基础案例改造:http://www.cnblogs.com/Json1208/p/8784906.html 2.motan-api工程HelloWorldService添加注解@MotanAsync 复制代码 package com.motan.service; import com.weibo.api.motan.transport.async.MotanAsync; @MotanAsync public interface HelloWorldService {     String hello(String name); } 复制代码 3.motan-api添加maven插件build-helper-maven-plugin,用来把自动生成类的目录设置为source path 复制代码 <build>         <plugins>             <plugin>                 <groupId>org.codehaus.mojo</groupId>                 <artifactId>build-helper-maven-plugin</artifactId>                 <version>1.10</version>                 <executions>                     <execution>                         <phase>generate-sources</phase>                         <goals>                             <goal>add-source</goal>                         </goals>                         <configuration>                             <sources>                                 <source>${project.build.directory}/generated-sources/annotations</source>                             </sources>                         </configuration>                     </execution>                 </executions>             </plugin>         </plugins>     </build> 复制代码 编译时,Motan自动生成异步service类,生成路径为target/generated-sources/annotations/,生成的类名为service名加上Async,例如service类名为HelloWorldService.java,则自动生成的类名为HelloWorldServiceAsync.java。 另外,需要将motan自动生产类文件的路径配置为项目source path,可以使用maven plugin或手动配置,以上使用maven plugin方式。 这样,我们就能在eclipse中的source folder 中生成HelloWorldServiceAsync.java。 4.motan-client.xml配置的motan:referer标签中配置interface为自动生成的以Async为后缀的对应service类 <motan:referer id="helloWorldReferer" interface="com.motan.service.HelloWorldServiceAsync" directUrl="localhost:8002"/> 5.测试,先启动server,再启动client 复制代码 public class Server {     @SuppressWarnings({ "unused", "resource" })

01

Spring中的异步请求、异步调用及demo测试

背景:做项目过程中,一些耗时长的任务可能需要在后台线程池中运行;典型的如发送邮件等,由于需要调用外部的接口来进行实际的发送操作,如果客户端在提交发送请求后一直等待服务器端发送成功后再返回,就会长时间的占用服务器的一个连接;当这类请求过多时,服务器连接数会不够用,新的连接请求可能无法得到满足,从而导致客户端连接失败。因此如果 request(/url) 经过dispatcherServlet 找到对应的 controller中请求方法后,先去释放request 线程资源,通过异步调用的方式去处理contorller方法 中接下来要执行代码,当异步线程 执行完后,controller 方法返回处理的值,这样就不会因为 大量请求,服务器没法处理连接问题。

00
领券