Home | 簡體中文 | 繁體中文 | 雜文 | 知乎專欄 | Github | OSChina 博客 | 雲社區 | 雲棲社區 | Facebook | Linkedin | 視頻教程 | 打賞(Donations) | About
知乎專欄多維度架構 微信號 netkiller-ebook | QQ群:128659835 請註明“讀者”

16.4. Socket 方式

TCP 方式還不如使用現在有的消息隊列,所以資料庫通過 Socket與應用程序通信,我推薦 UDP 方式。

UDP 有個好處,丟出去就不管了,性能非常好。並且可以實現組播,廣播。下面是 UDP的例子

16.4.1. UDP

https://github.com/netkiller/mysql-udp-plugin

下載 mysql-udp_sendto-plugin 然後編譯安裝代碼

		
# cmake .
# make && make install
		
			

安裝

		
create function udp_sendto returns string soname 'libudp_sendto.so';
		
			

卸載

		
drop function udp_sendto;
		
			

使用演示,首先使用nc命令監聽一個UDP連接埠,用來接收資料庫發送過來的數據。資料結構請自行定義。這裡僅僅是演示,可以採用json, 逗號分隔等等方式。

		
# nc -luv 4000
		
			

在資料庫中使用下面SQL發送數據給應用程序

		
select udp_sendto('192.168.2.1','4000','hello');