微博中微服务缓存_微服务常见问题
商業數據API相關問題
1、搜索最近數據接口:search/statuses/limited
(1)使用相同的參數調用接口有時可以返回數據,有時報錯,數據不穩定?
為了保證線上服務的響應速度,并降低服務器的負載,訪問下游服務的時候,超時設置的比較嚴格,為500ms,如果下游500ms沒有返回,則訪問失敗。如果要解決這個問題,建議調用時加入重試機制。
(2)使用相同的參數請求接口兩次,兩次返回的數據結果不一樣?
兩次搜索數據量不一樣,這個屬于正常的范疇。搜索微博的檢索策略、前端過濾策略、敏感詞的數量以及數據庫中微博本身的數量都是動態變化的,QA在測試的時候,線下環境與線上環境做diff,基本不超過5%就認為是正常。
(3)關鍵詞一樣,只有sort排序不一樣,每次返回的數據量總數有很大差異?
線上的后端服務器分為兩組,一組用于統一搜索,返回數據類型比較豐富(精選、文章、點評、用戶等),另一組用于商業數據,只返回微博數據。不同的參數值對應的索引庫會有差異。另外,sort參數值fwnum、cmtnum、hot都只對近期原創微博有效,但是time卻無限制,所以這三個參數在返回時會有區別的,而且time與另外的區別很大。
(4)以天為周期查詢某關鍵詞,30天的微博數量不等于以月為周期的微博數量?
超過1000條結果的搜索,返回的數量并不是實際數量,而是估算的數量,這個估算是不受過濾策略影響的。
(5)有時某一頁返回的數據要小于“count”指定的數量?
count是指每頁返回的數量,比如設置為10條,當顯示8條時是因為那兩條被過濾掉了,再次訪問又變成10條了,是因為索引數據庫是動態的,它會將過濾掉的信息擠到下一頁或者之后的頁面。
(6)每頁返回的微博數量總和與total_number不一致?
實際返回的結果數與total_num不符,這個現象是正常的。原因是索引中的數據都是入庫時的原始數據,后端會返回命中的微博,但是前段會根據微博的實時狀態進行過濾,比如有些微博被刪除、命中敏感詞、用戶被封等。
(7)搜索某關鍵詞時,某省的微博數量與其下面的地市微博數量總和不相等?
搜索的數據都來自于平臺,當用戶指定某個省或城市的微博時,會根據一些標志位來判斷微博是否是用戶要求的省或城市,具體的的原因是:細粒度的城市與粗粒度的省份之間沒有對應起來,比如搜索河北的微博,標記為河北的都會被搜索到,但是搜索石家莊,標記為河北的也會被搜索到。
(8) 如何使用時間參數,盡量搜到最全數據?
結束時間參數的值指定為當前時間,起始時間無需指定,將按時間倒序分頁返回1000條微博,再將第1000條微博的創建時間作為結束時間參數的值,起始時間無需指定,依次遞推。
(9)調用接口報錯,返回403,403報錯是什么原因?
403報錯是沒有登陸或超過頻率限制或超過發布上限。
(10)搜索某個關鍵詞最多返回多少條?
在某個時間區間內,搜索某個關鍵詞,分頁返回,每頁最多返回50條,最多可以翻20頁,即最多返回1000條。
(11)對于轉發微博,若只是原創內容包含指定關鍵詞,而轉發不包含,能被搜到嗎?
不能。對于轉發微博,檢索部分只是轉發內容部分,且不包括微博作者名、表情符號、轉發昵稱。
2、返回一條微博的全部轉發微博列表接口:statuses/repost_timeline/all
(1)對于多層級轉發微博調用該接口時的返回信息是怎樣的?
這個接口是返回一條微博的全部轉發微博列表,包括多級轉發的,比如A被B轉發,B又被C轉發,C又被D轉發,對A調用此API接口,返回的轉發數是B、C、D,這三個層級都包括,同理,對B調用此接口,C和D分別是其一級和二級,但是在返回數據時返回的是API上顯示的若干輸出參數,沒有層級的區分。
(2)調用接口時無法獲取某條微博的全部轉發微博?
轉發列表接口是返回一條微博所有轉發的列表,但結果是會過濾無效用戶的。如果轉發微博的用戶是凍結狀態與未激活狀態,用戶轉發的微博都無法顯示。
3、粉絲服務平臺中微博帳號與應用之間的對應關系以及相應的安全機制是怎樣?
粉絲服務平臺目前只支持一個應用綁定一個推送地址,不支持綁定多個,粉絲服務平臺在首次接入調用的時候,會進行一次驗證操作,具體參照:http://open.weibo.com/wiki/Messages_api_start.
4、開發者如何操作可以避免頻率限制?
確定哪些需要定時訪問的接口,每個接口做一個優先級,訪問的頻率做為一個變量; 計算下一定要訪問的接口數據量; 預留給用戶一定的更新(發微博,私信等) ;使用Account/rate_limit_status查看當前appkey所能支持的每小時的最大訪問量,根據此訪問量來確定頻率的值。
5、沒有單條微博詳細頁的url,怎么拼接單條微博的網頁版地址?
在程序中獲得用戶的uid,調用statuses/querymid獲得用戶的MID,拼接成http://weibo.com/uid/mid, 如UID=12345,mid=abcde,則網頁版地址為:http://weibo.com/12345/abcde。
總結
以上是生活随笔為你收集整理的微博中微服务缓存_微服务常见问题的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Only the Paranoid Su
- 下一篇: 人类简史 10 金钱的味道
