RedisConf2018記錄–Day1sessions
會議議程
Day 0是Training Day,之後的兩天就都是正式的會議session了,下面圖是Day 1 session day的所有議程。早上會有一個breakfast,之後就是keynotes,主要是redislabs的新特性發布,畢竟是會議舉辦方嘛,然後是邀請的大客戶出來站臺,後面會議記錄會詳細介紹下。接著是各個session的演講時間了,每個session差不多45分鐘時長,會有5-6個session同時進行,所以我們是按需求和興趣挑選著來聽的。所有session結束後,會有一個meetup,大家可以互相做個交流。
會議記錄
早餐比較簡單,漢堡和咖啡,蘋果不錯~
上午的keynotes開場是Redislabs的CEO宣傳自己公司取得的成就,目前已經進入Forrester Wave象限的leader角色,結束後他邀請作者上來講Redis 5.0規劃的feature。
作者開場先說明了5.0最重要的feature是Redis Stream,在之後的session時間他也會詳細介紹Redis Stream的設計。然後介紹了他最近做的一個“祕密專案”,把之前開發的disque以Redis Module的形式遷移到Redis,這個據作者介紹開發的工作量還是比較大的,但是為了在RedisConf18上給大家驚喜,只好push自己加班了……。然後作者講了5.0中和cluster相關的改進,最重磅的莫過於作者要給cluster實現一個proxy,私底下交流作者覺得現在smart client在實現時都沒有統一的標準,問題很多,加個proxy以統一,非smart client也可以直接使用了。然後是非同步遷移的實現,這個從github上來看,會合入codis的PR實現。最後介紹的是client side caching的新feature,實際上是提供一些key的統計資訊給client,client side決定是否快取或丟棄key,這個是為了解決熱點key問題的,不過一致性就要由client自己來做取捨了。關於multi io thread,作者說也是在計劃中。
最後關於5.0 的釋出時間,目前是還沒有RC1的,按作者計劃是在幾周以後RC1,不過GA時間可能就比較久了,目前作者也無法確定,因為還要寫很多的文件、unit test和壓測,他說自己在4.0因為心急犯了錯誤,5.0不會再犯了。
接著Redis labs的人上臺重點介紹了Redis module,使用Redis Module,能大大降低部署在AWS上應用的架構複雜性。然後RedisGraph(module)的開發者上臺,介紹了他們重新實現了RedisGraph,基於新的GraphBLAS演算法,插入效能和查詢相鄰節點效能和Neo4j相比有數量級的提升。
然後是RedisSearch(module)的開發者上臺,介紹新的feature,RedisSearch是如何在cluster版本中也實現支援的,主要是使用了一個coordinator節點用來聚合結果,最後還在現場對RedisSearch的效能和AWS的對比做了一個演示,RedisSearch的作者是個柔軟的胖子,昨天我們也有過私下交流,非常的風趣幽默。最後是Redis labs的人上臺宣佈釋出Redis University,面向開發者進行Redis教學,當然也可以順便宣傳自己的產品,目前是已經上線可以註冊了。
keynotes的最後邀請了stackoverflow的CEO Joel Spolsky上臺來跟大家分享他的創業經歷,實際是一個脫口秀的形式,Joel Spolsky非常的幽默,感覺全場一直在笑,貼個圖吧,畢竟碼農經常用這個網站,膜拜一下,
keynotes環節完成之後是session time,我們先聽了Redis作者對Redis stream的介紹,這裡主要介紹了實現Redis Stream的初衷和Redis Stream的主要介面,推薦大家看之前分享的一個ppt,對Redis Stream做了一個詳細說明,和作者今天講的思路一致,移步:Redis Stream
之後是google cloud的分享。谷歌redis雲服務計劃今年5-6月份上線,目前是一個beta版本,整體功能目前只有主從和單節點兩種形式,記憶體容量從1-384GB記憶體,沒有對原始碼進行深度定製化開發,直接使用VM來構建redis,同時目前不支援叢集,另外有一套類似阿里雲DMS的監控管理工具,不過據反饋需要收費,整體費用比例看很高。但是從現場瞭解到有很多客戶在gcc(google cloud computing)使用redisLabs提供服務。google同學表示也是看到redis的需求之後希望自己能夠在私有云提供Redis服務。同時當前也都不支援Redis Module 不支援CRDT,詳細roadmap沒有透露。另外會後和一箇中國的google同學溝通反饋他們大部分開發同學是從aws過來的。
因為上午keynotes時間比較長,所以只有一個session時間,接著就是lunch time了,lunch是餐車的形式,人很多要排挺長隊,餐食還是漢堡……這點體驗不太好:)
下午先聽了AWS的分享。AWS ElasticCache的負責人Audi Gutmans分享了AWS在開源專案的貢獻及ElastiCahe對開源Redis的共享,Audi Gutmans首先介紹了他是PHP group的創始人,是PHP steering的委員和license持有人,另外還參與了Apache開源基金會,開源了很多專案,比如Zend Framework,Eclipse PDT,同時還是mysql的貢獻者,在mysql客戶端目前都還有他的程式碼。會議開始之前Redis作者坐到了會議的第一排,在第一排認真的進行了聽講。會議開始之後Gutmans首先介紹了aws使用和貢獻的開源專案,接下去講到了aws同學在redis的貢獻。
其中最大的一個feature是SSL的支援,這個feature是由一個180幾的妹子完成的,使用了aws開源的s2n的SSL庫,整個庫的程式碼比openssl簡潔,同時效能提升效能比openssl好20%。會和和SSL的feature的作者交流,整體效能在加密上比沒有開啟降低30%,這個也和阿里雲實現的版本是一致的。
會議結束之後開源看到redis作者對Gutmans還是非常尊敬,主動上去和他攀談並握手致意。
在會議結束之後我們在展臺找到aws的同學,找到了QUCHEN和他進行了短暫交流,主要確定了下aws模式下使用者如果從主從變成叢集是否需要更改使用者客戶端,這裡他確定使用者需要修改,我們反饋這個對使用者不夠友好,會影響使用者業務。另外問了下aws對讀寫分離支援的時候有沒有考慮單寫入放大的或者,比如進行cpu限制或者cpu限制,他們反饋只有VM級別的流量限制,同時對於這種問題需要使用者解決。在資料遷移上主要詢問了如果擴容的時候大key如何遷移的問題,不過他們如果包的大小大於一定數字(256MBU左右),客戶端會斷開連線。諮詢詢問了是否使用migrate來進行遷移,QUCHEN直接說不能說了。後面來了aws的產品經理,一個女同學,我們介紹了下阿里雲在Redis上進行的工作,相互交流了下就完了。
因為aws分享session時間比較短,所以在同一個房間接著Redis Labs的工程師分享了RoF(Redis on Flash)with 3D XPoint,3D XPoint是一種新型儲存介質。不過這裡感覺Redis Labs對技術做了很高的保密,詢問效能如何,他們只回答了very fast,並沒有給出詳細的效能資料,然後目前Redis Labs也還是在內部測試中,沒有相關產品公測。最後一頁PPT是精華,和原來的on 普通SSD相比,on 3D XPoint之後,他們的架構也有很大的改變,基於3D XPoint的儲存裝置是直接map到虛擬地址空間中的,然後Redis Labs重新實現了引擎部分,原來是基於RocksDB的,現在是自己寫的一個LMDB,用於資料的換入換出,也取消了多io執行緒的設計。
接下來的session和業務相關多一點,首先是“auto-scaling redis caches”,這個主要講的是如何根據業務執行的latency和命中率,動態的調整cache的大小(基於Redis)來獲取目標的latency,同時儘量降低cache的成本,主要是提到了一個cache model的概念,業務latency的下降並不是隨著cache size的提高而線性下降的,可能會在某段cache size範圍內,latency是完全不變的,但是過了某個點,latency會出現陡變。
我們聽的最後一個session是lyft分享的關於Redis大規模使用的經驗(自運維)。Lyft是一個叫車軟體,目前大約有2000+ instance。不過Lyft使用Redis是一個純粹做cache的場景,遇到的問題相對簡單。他們不開AOF和RDB,也沒有使用Replication。最早他們使用的是twemproxy,這個自建過Redis的同學可能都知道,twemproxy是Twitter很早開源的一個Redis叢集代理,現在轉為閉源,開源部分也不維護了。所以Lyft就轉而使用envoy,envoy目前google,apple,Netflix,騰訊等都有在用,更新也很頻繁,github上看star 4000+,長期來看比較靠譜。lyft使用的路由演算法是一致性hash,這個倒也符合cache場景的用法。lyft自己寫了一些比較好的運維工具,redis-look,已經開源。最後因為Lyft的服務都是跑在aws上的,他們分享了一下spectre漏洞對他們的影響,大約瞬時25%+的效能,他們的做法就是把ec2規格從C4升級到C5解決問題,有錢任性~
session聽完之後,會有一個meetup的時間段,供大家會後交流,有冰好的beer,這點還是不錯的。我們主要和aws elasticache的工程師和產品經理做了交流。同時還遇到了redis-rdb-tools的作者,他看到我們一直在aws展臺交流,就主動把我們叫過去了:),redis-rdb-tools確實是個很不錯的工具,我們在平時工單處理過程中也會推薦客戶使用。開發redis-rdb-tools的哥們是一個印度人,他又做了一個專門用來優化Redis記憶體使用的工具,看宣傳頁是根據你的資料結構使用情況,來給你提供優化記憶體使用的建議,比如使用hash時,拆分為小hash,不要用大value等等這樣的策略。我們給他推薦了阿里雲的雲市場,一個專門的第三方工具市場,redis-rdb-tools在github上有2000+ star,redis也在國內比較流行,從這兩點來看,應該能給這位印度哥們帶來不錯的商機~
最後放一張圖鎮樓,o( ̄︶ ̄)o
相關文章
- 記錄
- Conda常用命令記錄(自用記錄)
- 20240505記錄《程式碼隨想錄》筆記筆記
- 指令記錄
- 科研記錄
- redis 記錄Redis
- rabbitmq 記錄MQ
- 2024.10 記錄
- nginx 記錄Nginx
- mybatis 記錄MyBatis
- jvm 記錄JVM
- spring 記錄Spring
- Kafka 記錄Kafka
- netty 記錄Netty
- 照片記錄
- git 記錄Git
- MyBatis記錄MyBatis
- 2024.3 記錄
- debian記錄
- MongoDB 記錄MongoDB
- 工具記錄
- Git記錄Git
- 命令記錄
- explain記錄AI
- 地址記錄
- PEAC記錄
- ad記錄
- 好文記錄
- planetype記錄
- Spring記錄Spring
- Ionic記錄
- PlaneLoc記錄
- paper記錄
- GitText記錄Git
- 思路記錄
- 學習記錄Spring Boot 記錄配置細節Spring Boot
- 淘寶記錄筆記筆記
- [記錄]curl命令筆記筆記