目錄
回覆內容:
首頁 後端開發 php教程 關於微信公眾號接收資料並傳送給區域網路網站的一些問題

關於微信公眾號接收資料並傳送給區域網路網站的一些問題

Aug 18, 2016 am 09:16 AM
mysql php python 微信公眾號

只是想找一下思路,聽聽大神的意見,不求他人幫忙做出詳細方案,只求指出攻關方向。本人會PHP/Java,能對照百度寫一點Python。
在本地區域網路中,有台伺服器跑php網站,這台伺服器處於深深的內網中(動態公網IP+網管不給做埠轉送);另有一台伺服器,處於xx雲的機房中,有獨立公網IP,跑php用於與微信對接。現在想做一個功能,能讓微信傳送的訊息途徑xx雲主機轉送至區域網路伺服器上。 xx雲端主機是Linux係作業系統,可考慮PHP/Python/Java的運行;區域網路主機是台普通PC,windows作業系統,可執行PHP/Python/Java,兩台主機均配備了MySQL資料庫(也是本問題選用的資料庫).不知諸君有沒有什麼比較精妙的思路。 。
現在我初步有幾個思路,還求各位評點,謝謝!
1.微信->雲端主機(PHP)->資料庫
   區域網路使用Python或Java輪詢取得新增資料到本機資料庫。
2.微信->雲主機(PHP)->跨進程傳送至Python寫的Socket伺服器
   區域網路使用Python或Java與雲端主機建立Socket鏈接,即時通訊存入資料庫。
3.微信->雲端主機(PHP)->資料庫.
    本地資料庫與遠端資料庫建立主從資料庫同步(關鍵是遠端可以只寫不查)
4.微信->雲端主機(PHP)->資料庫
    本地編寫程式直接連接兩個資料庫做一些操作。 。
以上便是我針對這個問題思考的一些結果,感覺每個方法都會影響整體系統的速度與效率。

回覆內容:

只是想找一下思路,聽聽大神的意見,不求他人幫忙做出詳細方案,只求指出攻關方向。本人會PHP/Java,能對照百度寫一點Python。
在本地區域網路中,有台伺服器跑php網站,這台伺服器處於深深的內網中(動態公網IP+網管不給做埠轉送);另有一台伺服器,處於xx雲的機房中,有獨立公網IP,跑php用於與微信對接。現在想做一個功能,能讓微信傳送的訊息途徑xx雲主機轉送至區域網路伺服器上。 xx雲端主機是Linux係作業系統,可考慮PHP/Python/Java的運行;區域網路主機是台普通PC,windows作業系統,可執行PHP/Python/Java,兩台主機均配備了MySQL資料庫(也是本問題選用的資料庫).不知諸君有沒有什麼比較精妙的思路。 。
現在我初步有幾個思路,還求各位評點,謝謝!
1.微信->雲端主機(PHP)->資料庫
   區域網路使用Python或Java輪詢取得新增資料到本機資料庫。
2.微信->雲主機(PHP)->跨進程傳送至Python寫的Socket伺服器
   區域網路使用Python或Java與雲端主機建立Socket鏈接,即時通訊存入資料庫。
3.微信->雲端主機(PHP)->資料庫.
    本地資料庫與遠端資料庫建立主從資料庫同步(關鍵是遠端可以只寫不查)
4.微信->雲端主機(PHP)->資料庫
    本地編寫程式直接連接兩個資料庫做一些操作。 。
以上便是我針對這個問題思考的一些結果,感覺每個方法都會影響整體系統的速度與效率。

可以使用redis的訂閱/發布功能,訊息能夠即時傳遞

我來給你第二種思路增增粗

微信->雲端主機(PHP)->起一個rabbitMQ的訊息佇列server, 把微信訊息丟進佇列->區域網路主機起一個rabbitMQ的client, 從server端取出訊息->丟進資料庫

整個訊息傳輸過程非同步進行, 哪一個環節都不會有阻塞, 妥妥的, 不用再造輪子了

方案很多,就像你自己給的1、2、3、4一樣,這個時候就要看業務場景:

  1. 時間緊嗎?

  2. 資料量大嗎?

  3. 時延要求高嗎?

  4. 並發量如何?

  5. 軟硬體投入有限制嗎?

不能用花生殼嗎

這4個方案在理論上都是可行的。但實際場景中記得要注意這幾點:
1、你的所有方案都是寫操作,如果有讀操作的話,部分方案就很難辦了,靠異步輪詢的話肯定會有數據不一致
2、保持長連接進行通訊的話,如果短時間內沒有數據,防火牆會不會把你的連結咔嚓掉。這是一個非常棘手且非常常見的大問題,尤其是網管不給做端口轉發這種糟糕的前提下。
3、對於方案4,你的網路延遲會不會對使用者操作造成僵死或髒數據。

天朝網路品質很差的,盡量避免多個遠端伺服器處理一個線性操作,也盡量避免遠端長連線。

一般區域網路內做微信伺服器,都是透過連接埠轉送(如果是動態ip的話還要配動態網域)。現在你的php伺服器本質上不處理業務,只做代理,那我有兩個方案,1是在公網伺服器上搭建nginx,透過動態網域技術反向代理到你的區域網路伺服器上2,使用服務中間價,例如java的dubbo,在外網伺服器遠端呼叫區域網路內的服務

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1325
25
PHP教程
1273
29
C# 教程
1252
24
MySQL:數據庫,PHPMYADMIN:管理接口 MySQL:數據庫,PHPMYADMIN:管理接口 Apr 29, 2025 am 12:44 AM

MySQL和phpMyAdmin可以通過以下步驟進行有效管理:1.創建和刪除數據庫:在phpMyAdmin中點擊幾下即可完成。 2.管理表:可以創建表、修改結構、添加索引。 3.數據操作:支持插入、更新、刪除數據和執行SQL查詢。 4.導入導出數據:支持SQL、CSV、XML等格式。 5.優化和監控:使用OPTIMIZETABLE命令優化表,並利用查詢分析器和監控工具解決性能問題。

作曲家:通過AI的幫助開發PHP 作曲家:通過AI的幫助開發PHP Apr 29, 2025 am 12:27 AM

AI可以幫助優化Composer的使用,具體方法包括:1.依賴管理優化:AI分析依賴關係,建議最佳版本組合,減少衝突。 2.自動化代碼生成:AI生成符合最佳實踐的composer.json文件。 3.代碼質量提升:AI檢測潛在問題,提供優化建議,提高代碼質量。這些方法通過機器學習和自然語言處理技術實現,幫助開發者提高效率和代碼質量。

給MySQL表添加和刪除字段的操作步驟 給MySQL表添加和刪除字段的操作步驟 Apr 29, 2025 pm 04:15 PM

在MySQL中,添加字段使用ALTERTABLEtable_nameADDCOLUMNnew_columnVARCHAR(255)AFTERexisting_column,刪除字段使用ALTERTABLEtable_nameDROPCOLUMNcolumn_to_drop。添加字段時,需指定位置以優化查詢性能和數據結構;刪除字段前需確認操作不可逆;使用在線DDL、備份數據、測試環境和低負載時間段修改表結構是性能優化和最佳實踐。

session_start()函數的意義是什麼? session_start()函數的意義是什麼? May 03, 2025 am 12:18 AM

session_start()iscucialinphpformanagingusersessions.1)ItInitiateSanewsessionifnoneexists,2)resumesanexistingsessions,and3)setsasesessionCookieforContinuityActinuityAccontinuityAcconActInityAcconActInityAcconAccRequests,EnablingApplicationsApplicationsLikeUseAppericationLikeUseAthenticationalticationaltication and PersersonalizedContentent。

怎樣卸載MySQL並清理殘留文件 怎樣卸載MySQL並清理殘留文件 Apr 29, 2025 pm 04:03 PM

要安全、徹底地卸載MySQL並清理所有殘留文件,需遵循以下步驟:1.停止MySQL服務;2.卸載MySQL軟件包;3.清理配置文件和數據目錄;4.驗證卸載是否徹底。

量化交易所排行榜2025 數字貨幣量化交易APP前十名推薦 量化交易所排行榜2025 數字貨幣量化交易APP前十名推薦 Apr 30, 2025 pm 07:24 PM

交易所內置量化工具包括:1. Binance(幣安):提供Binance Futures量化模塊,低手續費,支持AI輔助交易。 2. OKX(歐易):支持多賬戶管理和智能訂單路由,提供機構級風控。獨立量化策略平台有:3. 3Commas:拖拽式策略生成器,適用於多平台對沖套利。 4. Quadency:專業級算法策略庫,支持自定義風險閾值。 5. Pionex:內置16 預設策略,低交易手續費。垂直領域工具包括:6. Cryptohopper:雲端量化平台,支持150 技術指標。 7. Bitsgap:

MySQL批量插入數據的高效方法 MySQL批量插入數據的高效方法 Apr 29, 2025 pm 04:18 PM

MySQL批量插入数据的高效方法包括:1.使用INSERTINTO...VALUES语法,2.利用LOADDATAINFILE命令,3.使用事务处理,4.调整批量大小,5.禁用索引,6.使用INSERTIGNORE或INSERT...ONDUPLICATEKEYUPDATE,这些方法能显著提升数据库操作效率。

如何使用MySQL的函數進行數據處理和計算 如何使用MySQL的函數進行數據處理和計算 Apr 29, 2025 pm 04:21 PM

MySQL函數可用於數據處理和計算。 1.基本用法包括字符串處理、日期計算和數學運算。 2.高級用法涉及結合多個函數實現複雜操作。 3.性能優化需避免在WHERE子句中使用函數,並使用GROUPBY和臨時表。

See all articles