2 months ago

kubespray 是一個用 ansible 幫你自動化安裝 kubernetes cluster 工具
這邊紀錄如何安裝一個完整的 kubernetes cluster

Read on →
 
2 months ago

原本使用 Axon framework , 但他的 sequenceNumber 實在有點嚴格,所以就算多部屬幾台也難快起來

所以就參考它的格式自己做了一個範例

Read on →
 
2 months ago

紀錄一下因壓力測試做過各種調整

Read on →
 
2 months ago

如何在 springboot 中使用 threadPool

Read on →
 
3 months ago

這樣輸出的 jar 檔就不會包含開發環境的配置了

build.gradle
jar {
    from sourceSets.main.output
    exclude('application-dev.yml')
}
 
3 months ago
# -*- mode: ruby -*-
# vi: set ft=ruby :

datadisk1 = '.\data_disk1.vdi'

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.synced_folder ".", "/vagrant", disabled: true

  config.vm.provider "virtualbox" do |vb|
    vb.gui = false
    vb.cpus = 1
    vb.memory = "1024"
    vb.name = "Ceph-Admin"
    
    unless File.exist?(datadisk1)
      vb.customize ['createhd', '--filename', datadisk1, '--size', 1 * 1024]
    end
    
    vb.customize ['storageattach', :id, '--storagectl', 'IDE', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', datadisk1]
    
    # Adding a SATA controller that allows 4 hard drives
    #vb.customize ['storagectl', :id, '--name', 'SATA Controller', '--add', 'sata', '--portcount', 4]
    # Attaching the disks using the SATA controller
    #vb.customize ['storageattach', :id, '--storagectl', 'SATA Controller', '--port', 0, '--device', 0, '--type', 'hdd', '--medium', datadisk1]
    
  end
end
 
4 months ago

新版本的 vagrant 配置有點不同,所以想用舊的配置檔跑 VM 裡面的 Docker 會失敗

新的要加上
force_host_vm = true

為什麼要加就是自己看一下說明吧,反正就改了
https://www.vagrantup.com/docs/docker/configuration.html#force_host_vm

Read on →
 
4 months ago

前兩篇有講到 entity 還可以進一步定義關聯的資源 URL,讓前端可以依照定義來取得資源,而不是一個寫死的網址,避免萬一 URL 有變動的話 APP 也得必須改版。

就像 links 的效果
前端就可以固定抓取 project 的 value 就可以取得 project 的相關資訊,而不必關心 project url 的變動

{  
   "projectId":"QpbR7viWdy",
   "projectName":"123",
   "score":72,
   "createdDate":null,
   "createdBy":null,
   "lastModifiedDate":"2017-07-20T09:24:28Z",
   "lastModifiedBy":null,
   "_links":{  
      "self":{  
         "href":"http://localhost:8080/scoreProjects/n5NehJba7k"
      },
      "scoreProject":{  
         "href":"http://localhost:8080/scoreProjects/n5NehJba7k"
      },
      "project":{  
         "href":"http://localhost:8080/projects/QpbR7viWdy"
      },
      "scoreProjectMembers":{  
         "href":"http://localhost:8080/scoreProjectMembers/search/findByProjectId?projectId=QpbR7viWdy"
      },
      "projectMembers":{  
         "href":"http://localhost:8080/api/project/QpbR7viWdy/members"
      }
   }
}
Read on →
 
4 months ago

Spring 中使用 @Valid 驗證後回覆的格式並不是 json ,其實很不好處理 ,目前是 定義 ControllerAdvice 來做一個轉換處理

還有另一個是 HystrixBadRequestException ,因為有用到 spring-cloud-feign 的功能,自然是支援斷路保護機制 但是這個HystrixBadRequestException 好像沒辦法把對方的錯誤訊息放進去我們的回覆資料內,對方只會看到 message=BadRequest 之類的,所以做一下處理

Read on →
 
4 months ago

有關如何自訂 Page 物件與仿照 SpringDataRest 格式
為什麼要仿照? 主要原因

  • SpringDataRest 提供的是 HATEOAS (Hypermedia As The Engine Of Application State)
  • org.springframework.data.domain.Page 轉成 json 跟 SpringDataRest 不一樣

HATEOAS 的入門說明

Read on →