99国产精品欲av蜜臀,可以直接免费观看的AV网站,gogogo高清免费完整版,啊灬啊灬啊灬免费毛片

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

Nacos 發(fā)布 MCP Registry,實現(xiàn)存量應用接口“0改動”升級到 MCP 協(xié)議

0
分享至


作者|子葵 & 于懷

MCP 的發(fā)展速度之快,似乎超出了大部分人的想象。今年 2 月,Cursur、Winsurf、Cline 均開始引入 MCP,近日 OpenAI 宣布支持 MCP,國內(nèi)百度地圖、高德地圖陸續(xù)發(fā)布 MCP Server,還有一眾非常活躍的提供 MCP 托管和中間件服務的供應商,MCP 生態(tài)正呈現(xiàn)越加豐富和成熟的發(fā)展態(tài)勢。雖然 AI 在短期內(nèi)依舊面臨 ROI 的考驗,但幾乎所有人都不會懷疑他的未來,都不希望錯過這一場“軍備競賽”。問題隨之而來,存量業(yè)務架構中的 API 改造成 MCP Server,既面臨時間成本,還有人力上的挑戰(zhàn)。企業(yè)對能提升 MCP 構建效率的開源和商業(yè)方案愈加渴望。

“0 改動”適配 MCP Server

Nacos 作為 MCP Registry,扮演控制面的角色,不僅管理 Tool 的元信息,還可以把存量 API 轉(zhuǎn)化成 MCP 協(xié)議。Nacos 可以幫助應用快速把業(yè)務已有的 API 接口,轉(zhuǎn)換成 MCP 協(xié)議接口,結合 Higress AI 網(wǎng)關,實現(xiàn) MCP 協(xié)議和存量協(xié)議的轉(zhuǎn)換。其中,Nacos 提供存量的服務管理和動態(tài)的服務信息定義,幫助業(yè)務在存量接口不改動的情況下,通過 Nacos 的服務管理動態(tài)生效 Higress 網(wǎng)關所生成的 MCP Server 協(xié)議。

借助 MCP 的發(fā)展契機,Nacos (Naming and Configuration Service)正從構建云原生應用向云原生 AI 應用的動態(tài)服務發(fā)現(xiàn)、配置管理和服務管理平臺開源項目進行演進 ,近期 Nacos 即將發(fā)布 3.0 正式版本,會體系化面向 AI 架構進行升級。


為什么能實現(xiàn)“0 代碼”

適配 MCP Server

我們先看一下普通的調(diào)用是如何發(fā)生。首先,調(diào)用者需要知道服務提供者的地址 (一個域名或者是一個 IP),之后調(diào)用者根據(jù)提前約定好的參數(shù),對接口進行調(diào)用。調(diào)用流程圖如下:


在日常開發(fā)中,我們已經(jīng)知悉當前的提供者的接口集合、接口和接口參數(shù)的具體作用,所以可以基于這些上下文,在業(yè)務代碼中寫入調(diào)用邏輯,實現(xiàn)服務間的調(diào)用。對模型而言,這些調(diào)用上下文也是必須的,模型也需要知道服務提供者的接口集合以及接口的詳細描述,才能根據(jù)上下文進行接口調(diào)用。

因此,對于已經(jīng)使用 Nacos 作為注冊配置中心的存量服務而言,Nacos 中已經(jīng)存儲了服務的調(diào)用地址,只需要增加服務的接口信息就能實現(xiàn)模型來調(diào)用上下文。

為此,我們引入了“應用全局描述”來描述當前應用以及接口的詳細信息,通過統(tǒng)一的接口描述協(xié)議對 Nacos 中的服務進行 MCP 化改造。對于之前未注冊在 Nacos 中的服務,只需要通過 Nacos 持久化服務發(fā)現(xiàn)手動注冊即可。在配置完服務相關信息之后,MCP 協(xié)議需要的相關數(shù)據(jù)都已經(jīng)齊全了,接下來就需要考慮如何將這些數(shù)據(jù)通過 MCP 協(xié)議暴露出去,這里我們通過 Higress 的插件機制完成 MCP 協(xié)議的暴露能力。調(diào)用流程圖如下:


Nacos 轉(zhuǎn)化 MCP 的具體實現(xiàn)原理

MCP 協(xié)議目前支持多種資源(Tool、Prompt、Resource 等),我們對使用量較高的 Tool 進行了優(yōu)先實現(xiàn),再借助 Higress 提供的統(tǒng)一的 SSE 協(xié)議支持,便加速了 MCP Server 的構建。

實現(xiàn)原理上,我們通過在 Higress 中的 MCP Server 插件實現(xiàn)了 Nacos 中管理的 Tools 的暴露,對外通過 MCP 協(xié)議暴露普通 HTTP 服務,需要先完成兩件事,實現(xiàn)原理圖如下:


暴露 tool/list 接口,由 Higress 代理返回所有的 Tool 列表

tool/list 方法主要負責將當前 MCP Server 支持的 Tool 的詳細信息列表返回給客戶端,返回信息包含 Tool 的作用描述和 Tool 的參數(shù)描述(包含類型,作用等),然后通過將 Nacos 存儲的描述信息轉(zhuǎn)化為標準的 MCP 協(xié)議里的 tool/list 結果,返回給客戶端。

Nacos 中會注冊多個服務,每個服務會有多個接口,每一個接口映射為一個 Tool,Tool 的描述信息就是接口的描述信息,之后根據(jù)接口名,將所有服務中的所有 Tool 的服務名等生成全局唯一的 Tool 名稱,然后將這些 Tool 聚合為當前的 Tool 列表,返回給 MCP Client。

協(xié)議轉(zhuǎn)化,對 MCP 協(xié)議的 Json RPC 轉(zhuǎn)化為普通 HTTP 請求,并轉(zhuǎn)發(fā)到后端服務

當 MCP Client 要調(diào)用 Tool 的時候,Higress 將 tool/call 的 Json RPC 請求解析出來,通過用戶配置的參數(shù)映射信、Path、后端地址等信息,Higress 生成后端的 HTTP 調(diào)用請求,并進行調(diào)用。調(diào)用完成后,再將后端的調(diào)用結果包裝供標準的 tool/call 接口調(diào)用的返回結果。

在整體實現(xiàn)中,Nacos 作為 MCP Registry,扮演控制面的角色來管理 Tool 的元信息,Higress 在數(shù)據(jù)面做協(xié)議轉(zhuǎn)換和 RPC 調(diào)用。存量服務只需要添加接口描述即可,無需做任何改動。

使用 Nacos 管理 Tool 的元信息的優(yōu)勢

  • 存量 API 可以快速構建 MCP Server:Nacos 集成 Higress 的方案可以讓用戶快速,0 代碼的構建成 MCP Server,快速跟進 MCP 協(xié)議;

  • MCP 信息動態(tài)下發(fā)實時生效:MCP 描述信息、Tools 以及 Prompt 都需要進行調(diào)試,才能達到更好效果,Nacos 可以幫助管理和下發(fā)信息,更高效的調(diào)試描述;

  • MCP 信息歷史版本管理:Nacos 會管理和存儲 MCP 信息歷史版本,方便進行 Diff 對比差異,方便進行快速回滾;

  • MCP 信息灰度管理:Nacos 在 MCP 信息生效的時候,可以進行灰度分批生效,方便對比 MCP 信息效果;

  • 密碼配置加密:MCP 信息里以及調(diào)用 API 過程中,需要密碼等敏感信息,Nacos 提供了敏感信息加密的能力,幫助更安全的使用 MCP;?MCP 返回格式 JSON 轉(zhuǎn)換 XML:和大模型交互都有體感,對模型來說,JSON 沒有 XML 格式好用,所以在 MCP 返回信息格式上,Nacos 可以幫助 MCP 把返回格式從 JSON 變成 XML,方便大模型理解;

  • MCP 服務管理及健康檢查:MCP 服務會越來越多,Nacos 有大規(guī)模服務管理能力,并且持續(xù)在迭代過程中,為 MCP 做健康檢查、實時更新、負載均衡,起到 MCP 服務發(fā)現(xiàn)中心的托管作用。

手把手演示“0 代碼”

復刻高德 MCP Server

最近高德推出了 MCP Server 獲得了業(yè)內(nèi)廣泛關注,這部分 Server 是高德基于 MCP 社區(qū)的開發(fā)指引實現(xiàn)的,構建成本較高。接下來,我們基于高德官方的 Open API 接口,通過 Nacos+Higress 的方案,來演示如何 0 代碼適配 MCP Server。

環(huán)境準備

Nacos 部署

通過 docker 部署 nacos:

export NACOS_AUTH_TOKEN=自定義的token,token為原始內(nèi)容的base64編碼結果
export NACOS_AUTH_IDENTITY_VALUE=自定義的IDENTITY_VALUE,任意英文和數(shù)字組合
docker run -td -e PREFER_HOST_MODE=hostname -e MODE=standalone -e
NACOS_AUTH_IDENTITY_KEY=serverIdentity -e
NACOS_AUTH_IDENTITY_VALUE=${NACOS_AUTH_IDENTITY_VALUE} -e
NACOS_AUTH_TOKEN=${NACOS_AUTH_TOKEN} -p 8848:8848 -p 9848:9848 nacos/nacos-server

Higress 部署

安裝 docker

配置 Kind通過 Kind 在本地安裝 higress,在 Linux x86 的環(huán)境下使用如下命令安裝

# For AMD64 / x86_64
[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.27.0/kind-linux-amd64
# For ARM64
[ $(uname -m) = aarch64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.27.0/kind-linux-arm64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

通過 Kind 創(chuàng)建一個 local 的 k8s 集群

kind create cluster

獲取 hgctl,準備安裝 higress

curl -Ls https://raw.githubusercontent.com/alibaba/higress/main/tools/hack/get-hgctl.sh | bash

在本地部署 higress

hgctl install --set profile=local-k8s

安裝 Kubectl 并 連接到剛剛創(chuàng)建的集群

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x ./kubectl
mv ./kubectl /usr/bin/kubectl

部署 redis

docker run --name higress-redis -d redis

修改 ConfigMap 讓 Higress 連接到 Nacos

kubectl -n higress-system edit cm higress-config


將紅框部分替換為一下內(nèi)容, 即在原本配置中,data.higress 中增加 mcpServer 段的配置

apiVersion: v1
data:
higress: |-
mcpServer:
sse_path_suffix: /sse
enable: true
redis:
address: {local_ip}:6379
match_list:
- match_rule_domain: "*"
match_rule_path: /registry
match_rule_type: "prefix"
servers:
- name: nacos-registry
type: nacos-mcp-registry
path: /registry
config:
serverAddr: {local_ip}
namespace: ""
serviceMatcher:
amap: ".*"
ip: ".*"
downstream:
connectionBufferLimits: 32768
http2:
initialConnectionWindowSize: 1048576
initialStreamWindowSize: 65535
maxConcurrentStreams: 100
idleTimeout: 180
maxRequestHeadersKb: 60
routeTimeout: 0
upstream:
connectionBufferLimits: 10485760
idleTimeout: 10

請將 {local_ip} 替換為本機地址,可以在本地執(zhí)行以下命令獲取

ifconfig eth0 | grep 'inet ' | grep -v '127.0.0.1' | awk '{print $2}'

編輯完成之后保存配置,至此基本環(huán)境以及配置完成。

使用高德官方的 Open API,構建 MCP Server

環(huán)境部署完成之后,我們通過一個小的 Demo 對整個流程進行演示,我們以查詢天氣為場景,將高德的 HTTP 接口在無改造的情況下暴露為 MCP 協(xié)議,讓 Agent 進行調(diào)用。

高德開發(fā)者 API KEY 申請

調(diào)用高德 API,我們首先需要申請到高德 API 的 key。進入高德開發(fā)者平臺 ,登陸之后,創(chuàng)建新應用。


創(chuàng)建新應用:


應用創(chuàng)建完成之后,我們創(chuàng)建 key:


在控制臺看到 key,將 key 保存下來


接下來我們完成 higress 中關聯(lián) Nacos 做 MCP registry 的配置接下來我們在 Nacos 中配置完成高德 HttpApi 的描述文件的配置以及高德域名信息配置

在 Nacos 中進行高德 API 服務配置

首先我們通過持久化服務發(fā)現(xiàn)的能力將高德的域名注冊到 nacos 中,服務名為 amap,分組為 amap。


創(chuàng)建完服務之后,我們將高德的域名注冊到 Nacos 中。


通過以下命令注冊高德的域名。

curl -X POST
'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=amap&groupName=amap&ip=restapi.amap.com&port=80&ephemeral=false'

檢查 amap 服務的實例數(shù)變?yōu)?1。


在配置中心新建一個配置文件對高德的 API 進行描述。


進入配置中心,點擊新建配置。


創(chuàng)建 DataId 為 amap-mcp-tools.json 分組為 amap 的配置項,配置內(nèi)容為

{
"protocol": "http",
"tools": [
{
"name": "get_weather",
"description": "get weather",
"inputSchema": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "city adcode"
}
}
}
},
{
"name": "get_adcode",
"description": "get adcode via address",
"inputSchema": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "address"
}
}
}
},
{
"name": "get_address_via_ip",
"description": "get address via ip",
"inputSchema": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"description": "ip address"
}
}
}
}
],
"toolsMeta": {
"get_weather": {
"credentialRef": "amap-key.json",
"InvokeContext": {
"path": "/v3/weather/weatherInfo",
"method": "GET"
}
},
"get_adcode": {
"credentialRef": "amap-key.json",
"InvokeContext": {
"path": "/v3/geocode/geo",
"method": "GET"
}
},
"get_address_via_ip": {
"credentialRef": "amap-key.json",
"InvokeContext": {
"path": "/v3/ip",
"method": "GET"
}
}
}
}

這個配置描述了高德的 HTTP API 的相關參數(shù)信息,以及 Higress 進行協(xié)議轉(zhuǎn)換時需要的上下文信息。再創(chuàng)建 DataId 為 amap-key.json, 分組為 amap 的配置項配置內(nèi)容為:

{
"type": "fixed-query-token",
"credentialsMap": {
"key": "key",
"value": "高德的api key"
}
}

在 Nacos 中進行獲取出口 IP 服務配置

注冊一個獲取當前出口 IP 的服務獲取當前的 IP。以 ipinfo.io 為例,在服務管理中創(chuàng)建服務 ip, 分組為 ip:


服務創(chuàng)建完成之后,向 Nacos 中注冊 ipinfo.io 的域名信息,執(zhí)行一下命令。

curl -X POST
'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=ip&groupName=ip&ip=ipinfo.io&port=80&ephemeral=false'

注冊完成之后,就能在 Nacos 控制臺看到 IP 服務的下有一個實例了。


服務創(chuàng)建完成之后,我們在配置中心配置獲取 IP 服務的接口描述。創(chuàng)建 DataId ip-mcp-tools.json 為 ,分組為 ip 的配置,配置內(nèi)容為:

{
"protocol": "http",
"tools": [
{
"name": "get_current_ip_address",
"description": "get current caller's ip address",
"inputSchema": {
"type": "object",
"properties": {
"empty_args": {
"type": "string",
"description": "should be empty"
}
}
}
}
],
"toolsMeta": {
"get_current_ip_address": {
"InvokeContext": {
"path": "/",
"method": "GET"
}
}
}
}

配置創(chuàng)建完之后,就可以在 Cursor 中配置 Higress 作為 MCP Server 調(diào)用 Tool 了。

Cursor MCP 配置

Cursor 的具體配置方法如下:首先安裝最新版本的 Cursor,安裝完成之后在 Cursor 的設置中,配置 MCP Server 的具體信息。

{
"mcpServers": {
"nacos-registry": {
"url": "http://localhost/registry/sse"
}
}
}

配置完成后可以看到 通過 Higress + Nacos 暴露的 MCP Server 提供的 Tool。


查詢天氣

接下來,我們通過 Agent 模式向智能體,詢問今天天氣怎么樣。


可以看到,智能體先獲取了當前主機的出口 IP,再通過 IP 獲取到具體的省市信息,再通過省市信息獲取到 adcode,最終通過 adcode 獲取到當前的天氣信息。整個過程中,用戶只需要將服務注冊在 Nacos 中,并且在 Nacos 中配置服務接口相關的描述信息即可,服務本身的代碼無需任何改造;

總 結

通過 Nacos+Higress 的方案實現(xiàn) 0 代碼改造將 Agent 連接到存量應用,能夠顯著降低存量應用的改造成本。當前需要用戶手動配置接口描述信息,后續(xù)可以通過工具化的能力將接口進一步簡化,用戶只需要微調(diào)即可。現(xiàn)實中,我們有大量的存量服務和接口,按照接口到 Tool 的映射,我們將會有非常多的 Tool,當 Agent 拉取 Tool 列表并傳遞給模型的時候,將會有非常多的 token 消耗,并且模型的性能也可能會下降。那么如何在上下文中圈定有效的 Tool 列表,并返回給 Agent,將會是我們后續(xù)重要的演進方向之一。除了 Tool,MCP 協(xié)議還有 Prompt、Resource 等,MCP 社區(qū)也在持續(xù)更新協(xié)議,我們將在后續(xù)逐個支持,助力 MCP 生態(tài)的發(fā)展。

Nacos 3.0 AI 應用服務管理平臺

Nacos 3.0 架構已將發(fā)布正式版本,定位 AI 應用服務管理平臺,包含了 MCP 動態(tài)管理,也覆蓋通用 AI 生態(tài)場景,包含模型參數(shù)、Prompt 動態(tài)模版等場景幫助業(yè)務動態(tài)管理實時生效,Nacos 社區(qū)有完備的多語言客戶端生態(tài),成熟的 Python、GO、Rust、Java、NodeJS 等主流語言的適配,幫你用最低的成本快速構建 AI 應用;隨著 Nacos 演進,會推出越來越多 AI 相關的能力。


特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
好大一棵樹(耀邦逝世36周年的紀念)

好大一棵樹(耀邦逝世36周年的紀念)

阜成門六號院
2025-04-15 11:32:00
中央巡視組進駐,黃強、沈曉明、王忠林、王曉暉、尹弘、孫紹騁表態(tài)

中央巡視組進駐,黃強、沈曉明、王忠林、王曉暉、尹弘、孫紹騁表態(tài)

新京報政事兒
2025-04-16 11:02:32
港股午評:恒生指數(shù)跌2.54%,恒生科技指數(shù)跌4.53%

港股午評:恒生指數(shù)跌2.54%,恒生科技指數(shù)跌4.53%

界面新聞
2025-04-16 12:04:59
注意,多地嚴查網(wǎng)約車衛(wèi)星定位設備!已有大批網(wǎng)約車被封號、撤銷運輸證

注意,多地嚴查網(wǎng)約車衛(wèi)星定位設備!已有大批網(wǎng)約車被封號、撤銷運輸證

用車指南
2025-04-14 10:01:18
美國真搞國際笑話了,對華關稅加到245%

美國真搞國際笑話了,對華關稅加到245%

牛彈琴
2025-04-16 11:16:58
多名小鵬G6車主反映“低頻噪音”影響駕駛 相關負責人:將保持溝通并提供必要支持

多名小鵬G6車主反映“低頻噪音”影響駕駛 相關負責人:將保持溝通并提供必要支持

紅星新聞
2025-04-14 22:41:21
雙核!庫里帶隊18-5反超 下場后巴特勒帶隊又轟出一波10-2

雙核!庫里帶隊18-5反超 下場后巴特勒帶隊又轟出一波10-2

直播吧
2025-04-16 10:53:12
澳門世界杯:首個16強誕生!張本美和大獲全勝,一局不失輕松晉級

澳門世界杯:首個16強誕生!張本美和大獲全勝,一局不失輕松晉級

全言作品
2025-04-16 10:09:48
六位中央巡視組組長亮相,有一位“新面孔”

六位中央巡視組組長亮相,有一位“新面孔”

政知新媒體
2025-04-16 07:24:51
獎金1.2億歐!巴薩1-3輸球仍時隔6年進歐冠四強 奪冠概率高達27%

獎金1.2億歐!巴薩1-3輸球仍時隔6年進歐冠四強 奪冠概率高達27%

風過鄉(xiāng)
2025-04-16 06:44:16
17年來最危險時刻!人民幣匯率跌至08年來最低

17年來最危險時刻!人民幣匯率跌至08年來最低

羅sir財話
2025-04-16 00:03:10
核動力航母有克星?美防長承認,面對中國導彈雨,美軍撐不過20分鐘

核動力航母有克星?美防長承認,面對中國導彈雨,美軍撐不過20分鐘

空天力量
2025-04-16 10:09:40
網(wǎng)友稱一業(yè)主有事在群里求助物業(yè),直言是巨嬰式鄰居!引發(fā)熱議…

網(wǎng)友稱一業(yè)主有事在群里求助物業(yè),直言是巨嬰式鄰居!引發(fā)熱議…

火山詩話
2025-04-16 08:42:31
重傷!博主:韓佳奇前交叉韌帶撕裂,這個賽季指望不上了

重傷!博主:韓佳奇前交叉韌帶撕裂,這個賽季指望不上了

直播吧
2025-04-16 11:38:15
三河市委書記付順義簡歷已從三河市政府網(wǎng)站撤下

三河市委書記付順義簡歷已從三河市政府網(wǎng)站撤下

澎湃新聞
2025-04-15 17:40:27
王楠這1800萬的鐲子,公眾場合都戴著保護套,這種買來有什么意義

王楠這1800萬的鐲子,公眾場合都戴著保護套,這種買來有什么意義

老鵜愛說事
2025-04-16 08:55:30
戲劇性大逆轉(zhuǎn)!或取消關稅了!

戲劇性大逆轉(zhuǎn)!或取消關稅了!

財經(jīng)要參
2025-04-15 08:30:03
巴薩的歐冠恩人!1腳烏龍扭轉(zhuǎn)局面:掩面倒地,8萬人看懵了

巴薩的歐冠恩人!1腳烏龍扭轉(zhuǎn)局面:掩面倒地,8萬人看懵了

葉青足球世界
2025-04-16 06:43:41
張雪峰判斷失誤!福耀科技大學透露,600分才有機會被錄取!

張雪峰判斷失誤!福耀科技大學透露,600分才有機會被錄取!

教育導向分享
2025-04-15 20:28:48
不得不說,中國人就吃這套:奧迪一降價,30天就狂賣了48168輛!

不得不說,中國人就吃這套:奧迪一降價,30天就狂賣了48168輛!

愛論歷史
2025-04-14 22:13:53
2025-04-16 12:15:00
InfoQ incentive-icons
InfoQ
有內(nèi)容的技術社區(qū)媒體
11017文章數(shù) 51224關注度
往期回顧 全部

科技要聞

Model 2被斃內(nèi)幕:馬斯克嫌無聊 高管勸不住

頭條要聞

"訂婚強奸案"男方家屬:將繼續(xù)申訴 兒子還挺堅強的

頭條要聞

"訂婚強奸案"男方家屬:將繼續(xù)申訴 兒子還挺堅強的

體育要聞

諾坎普奇跡的兩位當事人,差點靈魂互換

娛樂要聞

楊冪女兒小糯米長大了,神似媽媽!

財經(jīng)要聞

一季度GDP同比增長5.4%!

汽車要聞

又帥又快超實用 極氪007GT獵裝車才是完美的車?

態(tài)度原創(chuàng)

家居
游戲
藝術
教育
軍事航空

家居要聞

秋日的風 木質(zhì)簡約空間

《明末淵虛之羽》官宣入駐微博 將舉辦三場線下試玩!

藝術要聞

故宮珍藏的墨跡《十七帖》,比拓本更精良,這才是地道的魏晉寫法

教育要聞

初三家長必讀:分享一個考不上高中也能上本科的方法!還有更狠的:初中直接上本科!

軍事要聞

涉嫌泄密 美防長高級顧問被調(diào)查

無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 石家庄市| 赣榆县| 拉萨市| 桐柏县| 名山县| 旬阳县| 沂南县| 当雄县| 玛曲县| 棋牌| 任丘市| 四子王旗| 阿荣旗| 东台市| 乡宁县| 托克托县| 肇源县| 额济纳旗| 酒泉市| 高陵县| 习水县| 永福县| 漯河市| 瑞昌市| 乌兰察布市| 遂平县| 于都县| 乌审旗| 商南县| 新泰市| 额尔古纳市| 阿克陶县| 当雄县| 睢宁县| 岫岩| 乐至县| 宝清县| 元谋县| 沂水县| 合阳县| 满洲里市|