关于微信公众号接收数据并传送给局域网网站的一些问题
只是想找一下思路,听听大神的意见,不求他人帮忙做出详细方案,只求指出攻关方向。本人会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一样,这个时候就要看业务场景:
时间紧吗?
数据量大吗?
时延要求高吗?
并发量如何?
软硬件投入有限制吗?
不能用花生壳吗
这4个方案在理论上都是可行的。但实际场景中记得要注意这几点:
1、你的所有方案都是写操作,如果有读操作的话,部分方案就很难办了,靠异步轮询的话肯定会有数据不一致
2、保持长连接进行通信的话,如果短时间内没有数据,防火墙会不会把你的链接咔嚓掉。这是一个非常棘手且非常常见的大问题,尤其是网管不给做端口转发这种糟糕的前提下。
3、对于方案4,你的网络延迟会不会对用户操作造成僵死或者脏数据。
天朝网络质量很差的,尽量避免多个远程服务器处理一个线性操作,也尽量避免远程长连接。
一般局域网内做微信服务器,都是通过端口转发(如果是动态ip的话还要配动态域名)。现在你的php服务器本质上不处理业务,只做代理,那我有两个方案,1是在公网服务器上搭建nginx,通过动态域名技术反向代理到你的局域网服务器上 2,使用服务中间价,比如java的dubbo,在外网服务器远程调用局域网内的服务

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP menggunakan sambungan MySQLI dan PDO untuk berinteraksi dalam operasi pangkalan data dan pemprosesan logik sisi pelayan, dan memproses logik sisi pelayan melalui fungsi seperti pengurusan sesi. 1) Gunakan MySQLI atau PDO untuk menyambung ke pangkalan data dan laksanakan pertanyaan SQL. 2) Mengendalikan permintaan HTTP dan status pengguna melalui pengurusan sesi dan fungsi lain. 3) Gunakan urus niaga untuk memastikan atomik operasi pangkalan data. 4) Mencegah suntikan SQL, gunakan pengendalian pengecualian dan sambungan penutup untuk debugging. 5) Mengoptimumkan prestasi melalui pengindeksan dan cache, tulis kod yang sangat mudah dibaca dan lakukan pengendalian ralat.

PHP digunakan untuk membina laman web dinamik, dan fungsi terasnya termasuk: 1. Menjana kandungan dinamik dan menghasilkan laman web secara real time dengan menyambung dengan pangkalan data; 2. Proses Interaksi Pengguna dan Penyerahan Bentuk, Sahkan Input dan Menanggapi Operasi; 3. Menguruskan sesi dan pengesahan pengguna untuk memberikan pengalaman yang diperibadikan; 4. Mengoptimumkan prestasi dan ikuti amalan terbaik untuk meningkatkan kecekapan dan keselamatan laman web.

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

MySQL sesuai untuk aplikasi web dan sistem pengurusan kandungan dan popular untuk sumber terbuka, prestasi tinggi dan kemudahan penggunaan. 1) Berbanding dengan PostgreSQL, MySQL melakukan lebih baik dalam pertanyaan mudah dan operasi membaca serentak yang tinggi. 2) Berbanding dengan Oracle, MySQL lebih popular di kalangan perusahaan kecil dan sederhana kerana sumber terbuka dan kos rendah. 3) Berbanding dengan Microsoft SQL Server, MySQL lebih sesuai untuk aplikasi silang platform. 4) Tidak seperti MongoDB, MySQL lebih sesuai untuk data berstruktur dan pemprosesan transaksi.

Docker LNMP Container Call Langkah: Jalankan bekas: Docker Run -D -Name LNMP -Container -P 80:80 -P 443: 443 LNMP -Stack Untuk mendapatkan IP Container: Docker Memeriksa LNMP -Container | GREP IPADDRESS ACCESS Laman web: http: // & lt; container ip & gt; /index.phpssh akses: docker exec -it lnmp -container bash akses mysql: mysql -u roo

PHP telah membentuk rangkaian sejak beberapa dekad yang lalu dan akan terus memainkan peranan penting dalam pembangunan web. 1) PHP berasal pada tahun 1994 dan telah menjadi pilihan pertama bagi pemaju kerana kemudahan penggunaannya dan integrasi lancar dengan MySQL. 2) Fungsi terasnya termasuk menghasilkan kandungan dinamik dan mengintegrasikan dengan pangkalan data, yang membolehkan laman web dikemas kini secara real time dan dipaparkan secara peribadi. 3) Aplikasi dan ekosistem PHP yang luas telah mendorong kesan jangka panjangnya, tetapi ia juga menghadapi kemas kini versi dan cabaran keselamatan. 4) Penambahbaikan prestasi dalam beberapa tahun kebelakangan ini, seperti pembebasan Php7, membolehkannya bersaing dengan bahasa moden. 5) Pada masa akan datang, PHP perlu menangani cabaran baru seperti kontena dan microservices, tetapi fleksibiliti dan komuniti aktif menjadikannya boleh disesuaikan.

PHP adalah bahasa skrip sisi pelayan yang digunakan untuk pembangunan web dinamik dan aplikasi sisi pelayan. 1.Php adalah bahasa yang ditafsirkan yang tidak memerlukan kompilasi dan sesuai untuk perkembangan pesat. 2. Kod PHP tertanam dalam HTML, menjadikannya mudah untuk membangunkan laman web. 3. PHP memproses logik sisi pelayan, menghasilkan output HTML, dan menyokong interaksi pengguna dan pemprosesan data. 4. PHP boleh berinteraksi dengan pangkalan data, penyerahan borang proses, dan melaksanakan tugas-tugas sampingan pelayan.

Manfaat utama PHP termasuk kemudahan pembelajaran, sokongan pembangunan web yang kukuh, perpustakaan dan kerangka yang kaya, prestasi tinggi dan skalabilitas, keserasian silang platform, dan keberkesanan kos. 1) mudah dipelajari dan digunakan, sesuai untuk pemula; 2) integrasi yang baik dengan pelayan web dan menyokong pelbagai pangkalan data; 3) mempunyai rangka kerja yang kuat seperti Laravel; 4) Prestasi tinggi dapat dicapai melalui pengoptimuman; 5) menyokong pelbagai sistem operasi; 6) Sumber terbuka untuk mengurangkan kos pembangunan.
