原创 thinkphp5數據庫分庫時model操作支持

使用thinkphp5.0實現業務功能時,遇到一個問題,同表分庫場景下,用model類實例無法支持多數據庫sql操作。 場景如下: db1.test db2.test db3.test ... 當使用: $model = new Test

原创 nginx、swoole高併發原理初探

一、閱前熱身 爲了更加形象的說明同步異步、阻塞非阻塞,我們以小明去買奶茶爲例。 1、同步與異步 ①同步與異步的理解 同步與異步的重點在消息通知的方式上,也就是調用結果通知的方式。 同步 當一個同步調用發出去後,調用者要一直等待調用

原创 程序員、技術主管和架構師

最近在進一步思考程序員的成長,曾經寫過一篇《程序員的成長階梯和級別定義》 ,裏面寫了我對程序員主要成長階段的定義,但在程序員從初級走向資深的過程中,會面臨兩個支路,一個叫「技術主管」,另一個則是「架構師」。爲什麼這是兩條支路?因爲現在回過

原创 使用LVS實現負載均衡原理及安裝配置詳解

    負載均衡集羣是 load balance 集羣的簡寫,翻譯成中文就是負載均衡集羣。常用的負載均衡開源軟件有nginx、lvs、haproxy,商業的硬件負載均衡設備F5、Netscale。這裏主要是學習 LVS 並對其進行了詳細的

原创 我們爲什麼要用vue,他解決了什麼問題,如何使用它?

Vue.js新手入門指南 最近在逛各大網站,論壇,以及像SegmentFault等編程問答社區,發現Vue.js異常火爆,重複性的提問和內容也很多,樓主自己也趁着這個大前端的熱潮,着手學習了一段時間的Vue.js,目前用它正在做自己的結業

原创 PHP 底層的運行機制與原理

PHP說簡單,但是要精通也不是一件簡單的事。我們除了會使用之外,還得知道它底層的工作原理。 PHP是一種適用於web開發的動態語言。具體點說,就是一個用C語言實現包含大量組件的軟件框架。更狹義點看,可以把它認爲是一個強大的UI框架。 瞭解

原创 Nginx 的 TCP 負載均衡介紹

Nginx除了以前常用的HTTP負載均衡外,Nginx增加基於TCP協議實現的負載均衡方法。 HTTP負載均衡,也就是我們通常所有“七層負載均衡”,工作在第七層“應用層”。而TCP負載均衡,就是我們通常所說的“四層負載均衡”,工作在“網絡

原创 使用Nginx+Lua(OpenResty)開發高性能Web應用

在互聯網公司,Nginx可以說是標配組件,但是主要場景還是負載均衡、反向代理、代理緩存、限流等場景;而把Nginx作爲一個Web容器使用的還不是那麼廣泛。Nginx的高性能是大家公認的,而Nginx開發主要是以C/C++模塊的形式進行,整

原创 js根據出生日期計算年齡

function getAge(birthday) { //出生時間 毫秒 var birthDayTime = new Date(birthday).getTime();  //當前時間 毫秒 var n

原创 php-rdkafka手動提交偏移量

在項目中使用php-rdkafka的高級消費者時,發現設置了: $topicConf->set('enable.auto.commit', 'false'); 沒有效果,還是會自動提交offset,查了各種資料,正確的應該是這樣設置: $

原创 PHP使用RabbitMQ實戰

用composer安裝rabbitmq客戶端庫: composer require php-amqplib/php-amqplib 生產者: <?php require 'vendor/autoload.php'; use Php

原创 Linux進程調度原理

Linux進程調度的目標 1.高效性:高效意味着在相同的時間下要完成更多的任務。調度程序會被頻繁的執行,所以調度程序要儘可能的高效; 2.加強交互性能:在系統相當的負載下,也要保證系統的響應時間; 3.保證公平和避免飢渴; 4.SMP調度

原创 select、poll、epoll之間的區別總結

  select,poll,epoll都是IO多路複用的機制。I/O多路複用就通過一種機制,可以監視多個描述符,一旦某個描述符就緒(一般是讀就緒或者寫就緒),能夠通知程序進行相應的讀寫操作。但select,poll,epoll本質上都是同

原创 聊一聊,Golang “相對”路徑問題

前言 Golang 中存在各種運行方式,如何正確的引用文件路徑成爲一個值得商議的問題 以 gin-blog 爲例,當我們在項目根目錄下,執行 go run main.go 時能夠正常運行(go build也是正常的) [$ gin-bl

原创 php調試排錯技巧大全

做php開發時間不短了,在這裏總結下平時常用的調試方法,希望對大家有所幫助。 1 代碼調試 1.1 打印輸出 使用echo、var_dump 、print_r等方法在需要調試地方進行打印輸出,通過輸出特定變量的值可以判斷程序執行是否正確。