色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

php ral 參數

朱開管1年前7瀏覽0評論
PHP RAL參數詳解
在使用PHP RAL進行分布式接口調用的時候,RAL參數的設置是非常關鍵的一步。而在實際的開發中,我們也經常會遇到RAL參數設置不正確,導致接口調用失敗的情況。因此,本文將詳細介紹php ral的參數設置,希望能幫助到廣大開發者。
1. RAL參數設置的基本概念
RAL參數是設置在config文件中的,用來控制分布式程序的一些運行屬性、行為和目的等。
在RAL里面,參數又分為默認參數和客戶端參數。默認參數在RAL服務端和客戶端都生效,而客戶端參數僅對客戶端生效。
2. RAL參數設置的示例
下面以一個簡單的RPC請求為例,展示RAL參數怎樣設置。
(1)在config文件中設置默認參數和客戶端參數
# config.php
return array(
'my_service' => array(
'server_addr'   => '192.168.56.101:8080',
'service'       => 'MyService',
'protocol'      => 'nami',
'timeout'       => '2000', # 默認超時時間
'request_timeout' => '2000', # 請求超時時間
'charset'       => 'utf-8',
'compress_type' => 'snappy', # 壓縮算法
'retry'         => 2, # 失敗重試次數
'is_async'      => false, # 同步調用
'is_long'       => false, # 短連接
'balancer' => array(
'type'      => 'random', # 負載均衡算法
'option'    => array(
'connect_timeout'   => 50, # 連接超時時間
'recv_timeout'      => 100, # 接收超時時間
),
),
),
);
<br>
// 客戶端 parameters.php 示例
return array(
'my_service' => array(
'timeout'       => '5000', # 超時時間, 客戶端調用優先
'retry'         => 3, # 失敗重試次數, 客戶端調用優先
'request_timeout' => '10000', # 請求超時時間, 客戶端調用優先
'is_async'      => false, # 同步調用, 客戶端調用優先
'is_long'       => false, # 長連接, 客戶端調用優先
),
);

我們通過一個config.php文件來設置缺省的參數和$php_ral_config_path數組里的parameters.php文件來設置客戶端自定義的覆蓋參數。
(2)在業務代碼中調用接口
// 調用 $client = ral('my_service'); $result = $client->get('user info', array('id' =>'123456'));
上面這段代碼中,我們通過ral('my_service')來獲取service的實例對象,然后調用get方法來獲取'user info'。
3. RAL參數詳解
通過上面的兩個例子,我們可以看到php ral的參數設置有哪些項。下面就逐一的來詳細講解下。
(1)server_addr
如果我們的業務代碼需要調用一些遠程的服務,則必須設置server_addr參數。在設置時,我們可以使用分號分隔符鏈接多個遠程服務器地址。
(2)service
RPC調用需要指定服務名字,而這個服務名字是由服務的提供者和使用者共同命名的。我們可以在config.php文件中設定service的名字。
(3)protocol
在RPC調用時,我們需要指定使用哪一種協議。如nami等。
(4)timeout
網絡IO的超時時間。
(5)request_timeout
RPC請求的超時時間。
(6)charset
RPC數據的字符編碼。
(7)compress_type
數據壓縮方式。
(8)retry
RPC請求的重試次數。
(9)is_async
是否異步調用。
(10)is_long
是否長連接。
(11)balancer
負載均衡算法。
下一篇php qq api