摘要:
NewLife.XCode是一個有20年歷史的開源數據中間件,支持net6/net5/net45/net40,由新生命團隊(2002~2020)開發完成并維護至今,以下簡稱XCode。 整個系列教程會大量結合示例代碼和運行日志來進行深入分析,蘊含多年開發經驗于其中,代表作有百億級大數據實時計算項目。
閱讀全文
posted @ 2022-01-20 15:53
大石頭
閱讀(785)
推薦(0)
摘要:
NewLife.XCode是一個有15年歷史的開源數據中間件,支持netcore/net45/net40,由新生命團隊(2002~2020)開發完成并維護至今,以下簡稱XCode。 整個系列教程會大量結合示例代碼和運行日志來進行深入分析,蘊含多年開發經驗于其中,代表作有百億級大數據實時計算項目。 開
閱讀全文
posted @ 2022-01-14 21:07
大石頭
閱讀(800)
推薦(9)
摘要:
NewLife.XCode是一個有15年歷史的開源數據中間件,支持netcore/net45/net40,由新生命團隊(2002~2020)開發完成并維護至今,以下簡稱XCode。整個系列教程會大量結合示例代碼和運行日志來進行深入分析,蘊含多年開發經驗于其中,代表作有百億級大數據實時計算項目。
閱讀全文
posted @ 2022-01-11 13:44
大石頭
閱讀(945)
推薦(9)
摘要:
對網絡庫NewLife.Net進行單機百萬級長連接測試,并持續收發數據,檢測網絡庫穩定性。
結論,8月1日晚達到200萬,8月2日下午達到404萬。
閱讀全文
posted @ 2020-08-03 08:22
大石頭
閱讀(5233)
推薦(72)
摘要:
所有查詢的標準結構都是 Select xxx From table Where yyy Order By zzz Limit 0, 20
分組查詢也不例外,僅僅是在where子句處做文章。
閱讀全文
posted @ 2020-03-10 22:54
大石頭
閱讀(1826)
推薦(5)
摘要:
100億數據其實并不多,一個比較常見的數據分表分庫模型:
MySql數據庫8主8從,每服務器8個庫,每個庫16張表,共1024張表(從庫也有1024張表) ,每張表1000萬到5000萬數據,整好100億到500億數據!
閱讀全文
posted @ 2019-09-09 09:07
大石頭
閱讀(7171)
推薦(61)
摘要:
XCode是充血模型,在實體類上附帶有大量便捷操作,其中就包括各種目標數據類型的導入導出!
閱讀全文
posted @ 2019-06-27 23:29
大石頭
閱讀(3049)
推薦(35)
摘要:
現代管理信息系統絕大部分采用BS架構,無一例外需要用戶角色權限的支持!
結合團隊諸多兄弟姐妹的經驗,設計了一個大小適中的用戶權限系統Membership,目標是滿足80%的使用場景,并具備一定的擴展性。
閱讀全文
posted @ 2019-06-24 21:26
大石頭
閱讀(2886)
推薦(13)
摘要:
如果說前面16篇講的都是XCode的ORM功能,從這一篇開始,將超越ORM之外,從另一個角度講解一個數據中間件!
實體接口IEntity,抽象實體對象的添刪改存操作,支持訪問臟數據和擴展屬性!
實體工廠接口IEntityOperate,抽象提供實體類的元數據、查詢、事務、設置!
閱讀全文
posted @ 2019-05-30 13:27
大石頭
閱讀(1678)
推薦(14)
摘要:
使用關系型數據庫來做大數據,第一步必然是索引!
單表超過1000萬數據,任何查詢都必須走索引!否則數據庫一定跟你說ByeBye!
閱讀全文
posted @ 2019-05-23 19:37
大石頭
閱讀(7230)
推薦(58)
摘要:
前文提到了以sql為key的數據層緩存,以及整表緩存的實體列表緩存,各自有其優缺點,適用于不同場合。
當單表數據較大(10萬+)時,兩者就無能為力了。天空一道巨響,對象字典緩存隆重登場!
對象字典緩存:以主鍵為key,緩存實體對象,以滿足應用層的高頻單點查詢需求!
閱讀全文
posted @ 2019-04-21 00:58
大石頭
閱讀(2285)
推薦(21)
摘要:
在實際項目開發中,經常遇到有一些表數據很少(1000行以內),不會頻繁修改(平均每行幾個小時才會修改一次),例如配置表、分類表等。
這樣的表,往往可以接受三五秒甚至更長的延遲,正是最適合使用緩存的地方。
實體緩存:一次性加載全表數據進入內存,供上層多維度查詢!
閱讀全文
posted @ 2019-04-20 08:27
大石頭
閱讀(2321)
推薦(13)
摘要:
緩存是一把尖刀,合理使用可大大提升吞吐率!
閱讀全文
posted @ 2019-04-18 22:57
大石頭
閱讀(2297)
推薦(22)
摘要:
碼農法則:數據庫壓力小于100qps時不要考慮指明select列來優化,大多數系統活不到需要優化的明天!
閱讀全文
posted @ 2019-04-17 22:36
大石頭
閱讀(4012)
推薦(30)
摘要:
XCode不支持多表關聯查詢,單表查詢利于優化以及分表分庫,一切Join都可以借助擴展屬性實現,配合緩存使用可以達到更好的效果!
閱讀全文
posted @ 2019-04-01 22:47
大石頭
閱讀(2470)
推薦(24)
摘要:
事務,通俗來講,同時干幾件事,要么一起成功,要么一起失敗!
閱讀全文
posted @ 2019-04-01 21:53
大石頭
閱讀(1554)
推薦(9)
摘要:
向 Meta.Factory.AdditionalFields 添加需要采用增量累加的字段,執行update時才生成 x=x+123 樣子的語句
閱讀全文
posted @ 2019-03-26 22:51
大石頭
閱讀(1107)
推薦(8)
摘要:
在XCode中,每次執行實體類更新entity.Update時,都希望只更新修改過的字段,而不是update所有字段。
一方面,減少數據庫壓力以及通信流量;
另一方面,多線程同時更新同一行數據的不同字段,在未加鎖的情況下,避免臟寫。
閱讀全文
posted @ 2019-03-26 20:24
大石頭
閱讀(2103)
推薦(16)
摘要:
前文《XCode添刪改》給大家展示了添刪改數據的基本概況,本文將詳解添刪改高級功能。
閱讀全文
posted @ 2019-03-18 23:03
大石頭
閱讀(2655)
推薦(16)
摘要:
所謂數據初始化,就是在所有數據庫操作之前,執行一些用戶自定義操作!
一般應用系統部署都需要安裝腳本,建立數據表以及導入基礎數據,才能跑起來。
在XCode中,“建立數據表”這一步由反向工程包攬,再輔以一個“導入基礎數據”的功能即可。
此外,系統在初步配置的過程中,經常可能出現需要清空某些表,然后重置到“出廠數據”的狀態,例如魔方的菜單初始化。
閱讀全文
posted @ 2019-03-18 22:07
大石頭
閱讀(6202)
推薦(12)
摘要:
反向工程是XCode的大殺器,區別于其它ORM的最強功能!
通俗理解:基于XCode開發的應用,無需數據庫安裝腳本,連接字符串指向哪一臺哪一種數據庫,系統就自動在上面建庫建表!
正式定義:基于實體類的表結構信息,在連接字符串指定的目標數據庫上自動執行建庫建表、添刪改字段、創建索引等操作,支持各種數據庫!
應用系統首次啟動完成的時候,也是自動建表建庫并初始化完成的時候。
閱讀全文
posted @ 2019-03-13 22:19
大石頭
閱讀(4405)
推薦(34)
摘要:
新生命團隊的數據中間件NewLife.XCode,有其獨特的配置方式,支持集成配置中心,代表作有百億級大數據實時計算項目!
閱讀全文
posted @ 2019-03-13 00:05
大石頭
閱讀(3697)
推薦(36)
摘要:
NewLife.XCode是一個有10多年歷史的開源數據中間件,由新生命團隊(2002~2019)開發完成并維護至今,以下簡稱XCode。
整個系列教程會大量結合示例代碼和運行日志來進行深入分析,蘊含多年開發經驗于其中。
閱讀全文
posted @ 2019-03-11 21:47
大石頭
閱讀(4305)
推薦(38)
摘要:
數據模型文件是XCode數據庫開發的中心,曾經流程和支持的DB First和Entity First,經過10多年優勝劣汰,只剩下Model First。
閱讀全文
posted @ 2019-02-26 00:23
大石頭
閱讀(3442)
推薦(25)
摘要:
NewLife.XCode是一個有10多年歷史的數據中間件,以下簡稱XCode。
整個系列教程會大量結合示例代碼和運行日志來進行深入分析,蘊含多年開發經驗于其中。
閱讀全文
posted @ 2019-02-25 23:15
大石頭
閱讀(7976)
推薦(29)
摘要:
X組件緩存架構以ICache接口為核心,包括MemoryCache、Redis和DbCache實現,支持FX和netstandard2.0!
閱讀全文
posted @ 2018-09-26 08:30
大石頭
閱讀(7698)
推薦(29)
摘要:
經過十多年實戰經驗積累以及多方共同討論,新生命團隊(https://github.com/newlifex)制訂了一種簡單而又具有較好擴展性的RPC(Remote Procedure Call)協議。全稱:簡易遠程消息交換協議,簡稱:SRMP(Simple Remote Messaging Protocol)
SRMP主要定位于以下場景:
內網高速通信,大吞吐量(>100萬tps)、低延遲(<1ms)
外網遠程通信,穩定可靠,海量連接(>10萬)
物聯網硬件設備,容易簡單實現協議
閱讀全文
posted @ 2018-09-20 09:30
大石頭
閱讀(1586)
推薦(8)
摘要:
相當一部分大數據分析處理的原始數據來自關系型數據庫,處理結果也存放在關系型數據庫中。原因在于超過99%的軟件系統采用傳統的關系型數據庫,大家對它們很熟悉,用起來得心應手。
在我們正式的大數據團隊,數倉(數據倉庫Hive+HBase)的數據收集同樣來自Oracle或MySql,處理后的統計結果和明細,盡管保存在Hive中,但也會定時推送到Oracle/MySql,供前臺系統讀取展示,生成各種報表。
在這種場景下,數據庫的讀寫性能就顯得尤為重要!
閱讀全文
posted @ 2018-09-13 23:49
大石頭
閱讀(7465)
推薦(36)
摘要:
在ZTO大數據實時計算廣泛應用,200多個Redis實例穩定工作一年多,每天處理近1億包裹數據,日均調用量80億次;
低延遲,Get/Set操作平均耗時200~600us(含往返網絡通信);
大吞吐,自帶連接池,最大支持1000并發;
高性能,支持二進制序列化;
閱讀全文
posted @ 2018-08-30 01:00
大石頭
閱讀(4459)
推薦(13)
摘要:
2017年6月,開始大數據分析的職業生涯,作為架構師,建立起一套基于.Net的小數據實時處理計算平臺,這里記錄學習過程中的點點滴滴!
數據分析的核心,可以理解為:Select xxx From table Where yyy Group By zzz
閱讀全文
posted @ 2018-08-12 10:57
大石頭
閱讀(6522)
推薦(23)
摘要:
魔方 是一個基于 ASP.NET MVC 的 用戶權限管理平臺,可作為各種信息管理系統的基礎框架。 演示:http://cube.newlifex.com 源碼 源碼: http://git.newlifex.com/NewLife/NewLife.Cube海外: https://github.co
閱讀全文
posted @ 2018-08-12 09:28
大石頭
閱讀(2129)
推薦(2)
摘要:
本文目標是指引從未使用過Linux的.Neter,如何在CentOS7上安裝.Net Core環境,以及部署.Net Core應用。
閱讀全文
posted @ 2018-07-08 22:37
大石頭
閱讀(8553)
推薦(111)
摘要:
為了便于大家學習測試netcore,我們計劃提供1~3臺公網Linux服務器(CentOS/Ubuntu),1vCPU+1G內存+100Mbps,為期1年,每周重置系統修改一次密碼
閱讀全文
posted @ 2018-07-08 11:04
大石頭
閱讀(3120)
推薦(16)
摘要:
ThreadPool空有1000個最大線程數,實際上超過CPU個數的線程后,線程分配會放緩。在線程池執行的同步方法中等待異步方法完成,很容易產生死鎖。
閱讀全文
posted @ 2018-07-05 18:40
大石頭
閱讀(8817)
推薦(29)
摘要:
微服務和消息隊列的基礎都是RPC框架,比較有名的有WCF、gRPC、Dubbo等,我們的NewLife.ApiServer建立在網絡庫NewLife.Net之上,支持.Net Core,追求輕量級和高性能。
閱讀全文
posted @ 2018-05-14 00:10
大石頭
閱讀(8847)
推薦(73)
摘要:
Tcp網絡編程,必須要解決的一個問題就是粘包,盡管解決辦法有很多,這里講一個比較簡單的方法。
閱讀全文
posted @ 2018-05-11 02:24
大石頭
閱讀(3641)
推薦(28)
摘要:
NewLife-Net壓力測試,峰值4.2Gbps,50萬pps,消息大小24字節,消息處理速度2266萬tps!共集合20臺高配ECS參與測試,主服務器帶寬6Gbps、100萬pps,16核心64G內存。
閱讀全文
posted @ 2018-05-10 08:20
大石頭
閱讀(8422)
推薦(68)
摘要:
網絡程序應該注冊成為系統服務,以保證其自啟動以及穩定可靠運行!
這一場,講講怎么建立一個生產級別的網絡服務。
閱讀全文
posted @ 2018-05-09 00:30
大石頭
閱讀(9074)
推薦(22)
摘要:
一個網絡庫,應該足夠簡單,讓用戶只需要關心只需要關心業務邏輯!
閱讀全文
posted @ 2018-05-07 00:29
大石頭
閱讀(9029)
推薦(22)
摘要:
我的博客即將入駐“云棲社區”,誠邀技術同仁一同入駐。
閱讀全文
posted @ 2018-04-02 14:48
大石頭
閱讀(749)
推薦(1)