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