原创 sem_wait不能被sem_post喚醒

#include "so_test.h" #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <p

原创 starrydb性能分析-Starrydb performance analysis

機器配置是i7 4核 8G內存 每秒鐘要運行2萬個心跳腳本, 觸發2萬個運行腳本, 觸發2萬個返回腳本, 每秒處理6萬個請求。 如果處理成功每個流程觸發 8個更新操作,共16萬個更新。 8個查詢操作,共16萬個查詢。 如果處理失敗每個流程

原创 閒談安全的腳本和異步函數的數據安全問題

   安全的腳本開發是多數引擎類語言所追求的目標,像java就試圖消滅了指針和崩潰的問題,但沒有成功。 說道腳本的安全無外乎兩大部分,內存指針的使用安全和數據安全, 指針和內存的使用是c語言的一大優勢,傳遞指針其實是數據集中管理的編程理念

原创 多線程的自然分裂管理法

多線程在一般環境下通常是分主副線程,主線程負責進行線程調度.具體負責的是線程的創建, 流程如:主線程接受任務->根據任務創建線程->子線程處理任務->結束退出 更高階的處理模式如線程池:主線程創建若干子線程->子線程聞訊堆棧是否有任務->

原创 發佈starrydb的演示版本

最初開發星空數據庫是原因是因爲開發遊戲服務器中遇到的各種問題, 從2012年開始歷時4年中間斷斷續續,完成了演示版本。 The initial development of the star database is the reaso

原创 有解還是無解

遊戲服務器是很複雜,也沒有可靠的參考。 國內某些人給我的印象實在很差。 似乎這個東西超脫了教師老師教的和現實所接觸的。 就是無解的東西。 高麗棒子做到了,ea做到了,wow做到了。 爲什麼說無解呢? 缺乏總結和分析的精神到處都是拿來主義,

原创 防禦編程與防禦陷阱

防禦編程是在多人開發的系統中保持局部正確性的一種編程方法, 有其積極的一方面,通過防禦編程檢查所使用參數是否正確阻止崩潰和意外的產生。 防禦編程對輸入參數的一個檢查,這種檢查由基本的是否存在,範圍是否正確,邏輯是否符合等等。   例如函數

原创 關於starrydb的壓力測試腳本的使用

starrydb的壓力測試腳本是test.lua這段腳本得意義是創建2萬個數據對象, 每個對象有個value值,之後爲每個對象創建一個每秒觸發的心跳。 在心跳中隨機找到一個對象,如果對象可讀就交換對象的value值。 這段腳本包含了5個階

原创 重要或不重要

一個羣體的事情很多,重要的和不重要的,但站在每個人的角度這個是非常的不同。 原本和羣體沒有關係的人被拉倒這個羣體,做一件別人認爲很重要的事情。 這是一個失掉自我的過程,爲了獲得金錢的報酬。 羣體原本是不相干的,理解重要還是不重要是,甚至感

原创 C++的兩個特性在大型工程裏是很危險

第一個是建構和析構函數,在函數裏面聲明瞭一個變量, 好像什麼都沒做,但在建構和析構函數裏調用了一大坨的東西, review代碼的時候就容易被忽略掉。 第二個是同名的方法,隱式調用。對一個多次繼承的指針的同名方法的調用, 一眼看過去,不知道

原创 代碼度量工具——SourceMonitor的學習和使用

引言 我們提倡編寫功能單一、結構清晰、接口簡單的函數,因爲過於複雜的函數會給我們帶來很多問題:加深其他開發人員理解代碼的難度;不方便測試人員對其編寫測試用例;容易隱藏錯誤;出現問題難以定位……怎樣的函數算是複雜的函數?哪些代碼散發着“

原创 僞同步過程

所謂僞同步過程是指,整個處理過程是異步的模式,但在整個處理過程沒有完成之前不接受新的請求。 例如設置標誌 開始-》處理-》結束。 在整個處理過程中如果有新的請求, 服務器檢查流程處理標誌, 如果不能接受新的請求就返回服務器繁忙。 或者上個

原创 ITDSD - 5.微服務拆分之無鎖編程

介紹 如果你受夠了微服務系統中無休無止的痛苦,哪些數據庫事務,分佈式鎖,永無止境的系統優化,莫名其妙的卡死,詭異的性能波動。來嘗試一下最新的無鎖編程技術吧。這個技術最酷的地方就是不需要數據庫事務和分佈式鎖就能實現分佈式系統的開發。衆所周知

原创 Spring Session使用redis的各種問題

首先確保使用redis正常。 配置添加使用存儲類型 # spring session使用存儲類型 spring.session.store-type=redis pom.xml中要引入依賴         <dependency>   

原创 ITDSD- 4.分佈式軟件的定量分析

介紹 這是關於分佈式架構新手入門的第五篇文章。這一篇文章主要介紹通過計算分佈式系統中的單次請求成功率,以及重複請求的穩定率獲得系統的穩定性估值。依據軟件結構評估性能及其冗餘。通過對系統的分析判斷出潛在的性能瓶頸。爲設計分佈式系統提供數據支