區塊鏈 初探 (一) 架設 乙太坊 私有鍊 編寫智能合約
很早就想來實作了,來看一下大概大多數都是用 go/node.js 寫,java好像很少看到我們來針對 這個部分補一下,搞一個最初版來玩看看。 總共需要 Ethereum Wallet 錢包 geth 架設私有鏈 Remix 編寫 智能合約 總而言之呢,就是架設一個測試環境讓自己能開發區塊鏈,開始吧! Geth https://geth.ethereum.org/download…
ALL POSTS
很早就想來實作了,來看一下大概大多數都是用 go/node.js 寫,java好像很少看到我們來針對 這個部分補一下,搞一個最初版來玩看看。 總共需要 Ethereum Wallet 錢包 geth 架設私有鏈 Remix 編寫 智能合約 總而言之呢,就是架設一個測試環境讓自己能開發區塊鏈,開始吧! Geth https://geth.ethereum.org/download…
目前架構 可以看到我們下面 服務好像有固定的資料庫可能是集群或是什麼 在前面的學習好像沒看到更複雜的呼叫,分布式很多問題,像是數據不同步,光是鎖就有一大堆,就以認證中心設計成微服務的話, 資料庫就會變成多個,這樣就不能判斷你到底是到底在哪一台呼叫,而出現你有雙重的登入資料快取在分散的資料庫解決方式可能有 一 分布式鎖 二共用同一個資料庫 這部分先以後有空再弄,目前就是先拓展為多…
本來想用kafka 看看的,睡醒在弄看看吧,我在想接下來是不是要通通移到docker 上了,乾脆上雲好了xd在看個aws 目前整個架構就這樣 初步介紹 查看日誌的傳統方法是:登錄操作系統,使用命令工具如cat、tail、sed、awk、grep等等進行過濾輸出後分析,處理少量日誌還好,日誌量大處理效率就沒那麼高了。而且很多情況下開發人員需要查看並分析日誌進行排錯,但他們對Lin…
當服務擴增到一定的程度時,併發時候,因為 zipkin 預設 是靠 http 去做傳輸,所以怕 耗到這部份的效能,也不能保證我們的 zipkin server 會不會 掛掉所以我們要一個中間層也就是rabbitmq,所以可以先把 log 發送到 rabbitmq 佇列裡等待被派送到 由他來判斷我們的 zipkin server 狀態是否可以接收我們的 log 因為 rabbit…
zipkin zipkin是分佈式鏈路調用監控系統,聚合各業務系統調用延遲數據,達到鏈路調用監控跟踪,當服務多起來要追蹤調用method可能會異常困難,這邊引入了 zipkin 針對各個服務進行調用追蹤。 執行 zipkin linux code Copy wget -O zipkin.jar 'https://search.maven.org/remote_content?g…
Zuul Filter 又是我,今天乾脆就寫一寫好了,Zuul 到底能不能攔截 post 來測試看看大牛寫的 這篇寫得很好 https://blog.csdn.net/q1009020096/article/details/86313601 code Copy @Override public Object run() { //sendRequest();…
這邊呢我打算就乾脆拿我們上次已經做好的 Spring Security 範例來直接進行結合。 Spring Security 稍微研究了一下他在 JwtAuthenticationFilter 裡面繼承了UsernamePasswordAuthenticationFilter 在裡面有一段是 super(new AntPathRequestMatcher("/login", “…
Zuul gateway入門 部分參考 https://www.ymq.io/2017/12/10/spring-cloud-zuul/ 前面如果比較重要的概念目前還太淺不能做總結,交給大神做整理觀念比較重要 服務網關是微服務架構中一個不可或缺的部分。通過服務網關統一向外系統提供REST API的過程中,除了具備服務路由、均衡負載功能之外,它還具備了權限控制等功能。 Sprin…
在上次講了 Eureka + Consumer (Rest+Ribbon) Eureka + Consumer Feign 現在要為它們加上 斷路器 Hystrix 介紹 在微服務架構中,根據業務來拆分成一個個的服務,服務與服務之間可以相互呼叫(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign來呼叫。為了保證其高可用,單個服務通常會集…
feign 如何呼叫 service 且傳入參數 比較常見就是這兩種 @GetMapping @PostMapping 這兩種又有 @RequestMappin 此文章沒討論用這個@RequestMapping 這算是比較舊的寫法,或許後續有空會補上 通常我們呼叫 restAPi可以用 @GetMapping @PostMapping 那麼又有分 無參數 單參數 多個參數 複雜…
Feign簡介 Feign是一個聲明式的偽Http客戶端,它使得寫Http客戶端變得更簡單。 使用Feign,只需要創建一個介面並註解,它具有可插拔的註解特性,可使用Feign 註解和JAX-RS註解,Feign支持可插拔的編碼器和解碼器,Feign預設整合了Ribbon,並和Eureka結合,預設實現了負載均衡的效果。 Feign 具有如下特性: 可插拔的註解支持,包括Fei…
Eureka + Consumer (Rest+Ribbon) 今天要做的就是這一個部分,微服務的核心就是一個由互向獨立 微服務組成,不同的服務之間可以透過一些輕量級通訊協定來進行溝通 比如說 RPC, HTTP 等,不同服務可以用個別不同的的語言進行開發。 目錄結構 Provider Consumer Ribbon 核心 比較常見的有 - ServerList 用於獲取地址列…
下面兩個分別是個別的 service 個別專案不是在同一個專案底下 今天要完成的就是昨天說的這一塊 新增依賴 code Copy <dependency> <groupId>org.springframework.cloud</groupId> <artifactId> spring-cloud-starter-netfl…
前面幾章已經大致上了解 微服務,大概在幹嘛了吧,終於可以進到使用 Spring Cloud 了,假設前面幾個框架沒學錯的話(在家修練),雖然前面只有說到 zookeeper,之前有找到 spring boot+ rpc +zookeeer 實作有點多有空再玩哈哈,反正先有下面這些概念,以後想自幹框架自己再慢慢玩也不遲 XD 下面就稍微總結一下我對微服務架構初步的認識 在練習畫流…
zookeeper 大概就是 目前只介紹這個東西的用途,可以得知我們的我們的服務都註冊到zookeeper 裡面的一個節點,然後我們可以透過去請求 zookeeper 先取得節點的可用伺服器清單,然後client 再去訪問可用的伺服器清單,這個就是 zookeeper 大概用途,下面沒有涉及什麼選舉演算法等等,只有對zookeeper 初步介紹搭建。 這邊文章後下回 sprin…
建立 高可用 集群 nginx + keepalived + tomcat https://www.javazhiyin.com/33054.html 自己如果大概實作也可以(我是懶了xd 這邊如果要自幹的話當然也可以,比較常見就是兩台伺服器自行編寫程式碼去監測服務有沒有掛掉,就是成本有點貴這樣,好像也不能解決問題,在之前教學文章我之前有嘗試過用兩層 nginx 去做(沒意義…
部署到 tomcat 伺服器? 這邊跟我們之前開發模式不一樣,我有寫過一個 用 Spring session 共享的文章,那時候自幹搭配 nginx 實現一套session,後面在考慮是否要來根據 spring boot 邏輯來重寫,今天是以前一天 restful api,我們寫完要部署到伺服,在之前的公司用的是 ant 算是比較早期(?,好像後面有用其他腳本。 https:/…
以 Spring Boot 整合 Spring Security 保護我們的 REST API 在我們前幾次的教學裡都已經造過一次輪子了,包括用Spring 操作 redis 實作 了 token 完成了權限的空共存等等,當然我來做一下總結 1.帳號密碼登入驗證 session 保存認證結果存在 server 做存取。 2.使用OAuth進行帳號密碼驗證使用第三方帳號去做登入…