t**********1 发帖数: 550 | 1 异步是一样的。因为你可以送REQID。
你可以验证同一个连接,如果你的REQID单调递增,我返回的REQID也是。 |
|
|
t**********1 发帖数: 550 | 3 抢到抢不到都会给一个确定回答。这个系统是实时的。
当然primary崩溃,backup recover状态的时候,有一些前端请求会收不到答复。
但是,请记住,我说了,每个前端请求都有一个unique reqID的。
primary崩了,前端机也知道。没有到请求的,会到更下一级的后端查询。
查询就是在1000万张抢到的票里面查有没有自己的unique reqID而已。就这个hash查询
。每秒1000万我都打了不知道百分之几百的余量了。 |
|
T********i 发帖数: 2416 | 4 外围机是前端,抢票服务器居中,支付ACID MQ是后端。
抢票机抢到票,放到一个memory queue里面,往后端ACID MQ送。
假定ACID MQ throughput 1M/s。抢票机memory queue搞1B大总行吧?
ACID MQ给抢票机ACK,抢票机给外围机。或者抢票机给外围机一个pending,外围机每
10秒轮询poll一个redis都好。有unique ReqID都好办。
抢票机死掉了,前端外围机根据ReqID直接查询ACID MQ好了。
其实有问题你应该自己先想办法解决。如果自己能解决还要故意问,那是故意难为人家
,有意思么? |
|
|
c*****o 发帖数: 1702 | 6 请问print什么? 我用的java
public static String realtimeBar(int reqId, long time, double open,
double high, double low, double close, long volume, double wap, int count)
这个function 需要我自己call吗。 |
|
|
w******x 发帖数: 2769 | 8 http://jobs.qualcomm.com/staffing/Staffing.asp?page=search_detail&reqid=1872881
Requisition # N1872881
Job Title Director, Sales- China Market
Post Date 12/14/2009
Division Qualcomm CDMA Technology
Job Area Sales
Location California - San Diego
Job Description Successful candidate will be responsible for account
management of key handset OEMs/ODMs/IDHs in China.
The candidate will drive the execution of the QCT open market account
strategy targeting the incremental g |
|
|
|
|
e********2 发帖数: 495 | 12 log中的一行:
CSID=H11232 131.107.0.95 "host=pd0-bgas03;c10er-ccat=vr+%3e+exide+%3e+home;c
10er-cat=Exide+%3e+Home;c10er-typ=dynamic;pv=1;reqid=82d636e4f2567fd42848bca
7f45f45f8;c10er-loc=http%3a%2f%2fwww.exide.com%2f%3f_rsiL%3d0%26ref_dom%3dex
ide.com%26ref_url%3d%2f;c10er-ref=http%3a%2f%2fwww.exide.com%2f;add-seg=H112
32_10095|H11232_10055|H11232_0;NETID01=40d5878e60833697f5e3fb0822ebd85d;rts_
AAAA=MLs/NN/LYi57TE7pniKMrkRhKvNMmL4GQ5by+P1WdUeE2C9Yk2OnUPN14yGvjbF9NXisc4q
doCzH4YOGXqUZ7mS5ndPzq6DniSc8... 阅读全帖 |
|
t**********1 发帖数: 550 | 13 不需要。 client可以一直送,server会异步返回。
协议里面有REQID的。
做同步的没意思。 |
|
t**********1 发帖数: 550 | 14 同一个TCP client,从client出去的先后顺序和到服务器的先后顺序一模一样。所以我
才会支持REQID。
不同的TCP client之间,谁也控制不了。 |
|
|
g****u 发帖数: 252 | 16 请解释下,是不是说我一个socket开两个线程,一个往里写NetReq结构,
一个往外读NetResp结构?seat表示什么?如果输入_train = -1,
seat又应该是什么?为什么reqID是64位,而respID是32位?
< |
|
t**********1 发帖数: 550 | 17 想想下游有一个ACID的MESSAGE QUEUE。假设1M/s速率好了。
注意,抢到票才会送到下游。而下游的MQ是ACID的就是带persistence。保证persist后
才ACK。
那么,假定一天卖1000万张票。及时两秒抢光,用户等10秒也能收到确认。注意,我们
写入MQ,等ACK,再给用户确认。MQ消息带用户端ReqID。
别问我ACID MQ怎么做?你给我$1万,我给你做一个软件,硬件你自己买,保证指标合
格。
至于没来及写入MQ的,crash后恢复,当作没发生好了。
这东西恢复也就1秒以内。因为是hot standby。差的也就是最后几笔交易而已。 |
|
t**********1 发帖数: 550 | 18 MQ机提供查询服务。查询这个ReqID有没有被persist(也就是抢到票)?
查询只在crash后有。顶多几千万pending请求。没事。 |
|
|
g****u 发帖数: 252 | 20 不一样。老魏已经解释了。不然resp中不需要同时返回respID和reqID |
|
n****j 发帖数: 1708 | 21 用于测试目的,这么理解倒也可以。实际系统如果考虑到退票,这个不成立,一般回送
reqID 就可以了,往后端 DB 流数据倒是要另外一个 ID。
昨天赵老师说老魏的车次用 32 bit 不用字符串太抠门我就笑了,设计协议的时候当然
要编码
,去掉任何冗余数据,要我说 32 bit 都太浪费。 |
|
g****u 发帖数: 252 | 22 其实你用48位的reqID和respID,就可以档住近一年每秒10M请求。
消息大小不变。其实都到这地步了,消息再大点也无所谓。
我觉得不用换。我的客户端预先分配所有的req/resp空间。
撑不了几秒钟的test。长时间大规模的蹂躏还要等goodbug。 |
|
k****5 发帖数: 97 | 23 SOM Chicago Office is hiring Chinese-spearker strcuctural engineers recently.
Master or PhD are prefered, consider H1B sponsorship.
Detail information see below link
https://som.hua.hrsmart.com/ats/js_job_details.php?reqid=146
This position (or two?) is mainly for Chinese.
The interview has started since last week, if someone is interested in it,
please feel free to submit resume. |
|
c*****o 发帖数: 1702 | 24 是从Ewrapper 里call吗? 如果在例子里的是SampleFrame
是
int reqId=1;
long time=0;
double open=0;
double high=0;
double low=0;
double close=0;
long volume=0;
double wap=0;
int count=0;
sampleFrame test;
test.m_client.reqRealTimeBars(1, test, 5,"MIDPOINT", true);
test.realtimeBar(1, time, open, high, low, close, volume, wap, count);
这样做的话,open这些参数不会被realtimebar改变。请问具体怎么操作阿 |
|