タグ

ブックマーク / moznion.hatenadiary.com (3)

  • IP Routing TableのGo実装 "go-iprtb" 書いた - その手の平は尻もつかめるさ

    GoのIP Routing Tableの実装について調べてみたところ、だいたいOSのRouting Tableを操作する系のライブラリがヒットし *1、そうではなくユーザー側コードでRouting Table相当の実装・処理をしたい時に使えそうなライブラリがパッと見当たらなかったのでそれを書いたという次第です。 さて、GoでシンプルなRouting Table実装を書くのは実に簡単で、以下のように書くだけでほぼ期待通りに動くと思います。 type RouteEntry struct { Destination net.IPNet Gateway net.IP NwInterface string Metric int } routes := map[string]RouteEntry{} // ここでroutesにrouteを登録する // `target net.IP` がrouting

    IP Routing TableのGo実装 "go-iprtb" 書いた - その手の平は尻もつかめるさ
    fjwr38
    fjwr38 2022/11/18
  • ネットワーク越しリトライ考 - その手の平は尻もつかめるさ

    ここ最近では何らかのインターネットサービスを構築・運用するにあたって、ネットワーク越しのリトライを考えることは避けられなくなりつつあります。 micro services のようなアーキテクチャを採用している場合はサービス間のメッセージのやり取りはまず失敗する前提 (つまりリトライをする前提) で組む必要がありますし、たくさんのクライアントがいてそのクライアントが定期的に何かを処理してセントラルにデータを送ってくる IoT のようなシステムを構築する時もその処理のリトライをよく考える必要があります。 というわけで「ネットワーク越しのリトライ」についてここ最近考えていることをざっくりと書き留めるものであります。 前提 リトライをする側をクライアント、リトライを試みられる側をサーバと呼称します リトライにおいて、サーバおよびネットワークはクライアントよりも弱者です クライアントはリトライをコン

    ネットワーク越しリトライ考 - その手の平は尻もつかめるさ
    fjwr38
    fjwr38 2020/11/17
  • Goでforkしたいとかgoroutine IDが欲しいとか言わない - その手の平は尻もつかめるさ

    golangでforkってどうやるんだ— 単位落としました (@moznion) 2014, 9月 14 @moznion できねぇよ— Daisuke Maki (@lestrrat) 2014, 9月 14 @moznion 外部プロセスの起動、ならできる。— Daisuke Maki (@lestrrat) 2014, 9月 14 @moznion でもforkしたい、という考え(設計)を改めるのが先です。— Daisuke Maki (@lestrrat) 2014, 9月 14 @lestrrat なんということだ……— 単位落としました (@moznion) 2014, 9月 14 forkはできないとのこと— 単位落としました (@moznion) 2014, 9月 14 考えを改めている— 単位落としました (@moznion) 2014, 9月 14 特定のgorouti

    Goでforkしたいとかgoroutine IDが欲しいとか言わない - その手の平は尻もつかめるさ
    fjwr38
    fjwr38 2015/10/31
  • 1