Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
電気料金シミュレーションサービスの マイクロサービス化と動的プラン検索の改善
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
So Hosoki
March 18, 2024
Technology
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
電気料金シミュレーションサービスの マイクロサービス化と動的プラン検索の改善
So Hosoki
March 18, 2024
Other Decks in Technology
See All in Technology
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
140
Kiro Crewで「みのるん式」仕事術やってみた
minorun365
PRO
3
750
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
200
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.3k
AI導入は済んだ。次は統制を作り替える番だ_AI×開発組織 Summit 2026
techtekt
PRO
0
370
価値について
gree_tech
PRO
0
110
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
840
FinOps Agentが生んだ技術負債:コスト自動調査の落とし穴と解消までの道のり
oasis1994liveforever
2
150
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
310
Getting Started with Google Antigravity
glaforge
0
320
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
930
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
170
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
KATA
mclloyd
PRO
35
16k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
New Earth Scene 8
popppiees
4
2.7k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
220
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Marketing to machines
jonoalderson
1
5.9k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
280
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Transcript
Confidential © ENECHANGE Ltd. 電気料金シミュレーションサービスの マイクロサービス化と動的プラン検索の改善 ENECHANGE株式会社
Confidential 自己紹介 ENECHANGE株式会社 └── エネルギークラウド事業部 └── Marketing Unit ├── backend
エンジニアがメイン │ └── Ruby on Rails ├── アーキテクチャやインフラ構成などを考えたり │ └── AWS └── 電気料金シミュレーションや電力プラン管理の開発など 2
Confidential 3 プロダクトについて • emap simulation ◦ 「エネチェンジ」でも使用しているシミュレーションエンジンをベースに電力事業者向けにカスタマイズ • 現在契約しているプランから事業者提供のプランに乗り換えた際の差額をシミュレートするのがユースケース
Confidential 4 マイクロサービス化 • プラン情報の管理と更新は事業者ごとのリポジトリで行われており効率が悪い • 複数の電力会社にサービスを展開しているがシミュレーションのコアなロジックは共通 • シミュレーションロジックとプラン情報のマイクロサービス化を進めている
Confidential 5 マイクロサービス化による新課題 • マイクロサービス化により事業者ごとのプラン管理の効率化が進んだ一方新たな課題も発生 • これまでは各リポジトリで管理していたシミュレーション対象のプランの一元管理が必要 ◦ シミュレーションの比較先プランは比較元の契約内容をもとに複雑なロジックで検索する必要がある ▪
別リポジトリの時は事業者の要件にあったロジックのみで大丈夫だった ◦ 検索には複数テーブルを参照する必要があり、対象プランが多い事業者は負荷が高い ◦ 一部の事業者には対象プランを動的に切り替える機能があり、設定ファイルで定義したりも難しい • リクエストのたびに対象プランを検索していると大変なので効率的に検索する方法が必要
Confidential 6 検索結果のキャッシュ化 • 検索結果をキャッシュ化 ◦ プラン情報自体は静的な csv で管理しており変更タイミングをコントロール可能 ◦
そのため基本的には結果をキャッシュしても問題ないと判断 • 一方で一部の事業者は動的に対象プランを切り替えられる ◦ キャッシュ化した後に対象プランが切り替わった場合、その変更が検索に反映されない
Confidential 7 検索結果のキャッシュ化 • キャッシュの登録、削除のタイミングをコントロールして常に正しい結果が出せるように調整 ◦ キャッシュは事業者、検索条件別に保持 ▪ 検索が実行されたらその結果をキャッシュ化 ◦
プラン情報の変更時は必ずキャッシュクリア ◦ 動的に対象プランが変更になった際もキャッシュクリア • → 結果的に検索のパフォーマンスが向上 ◦ 対象プランが多い事業者の比較元が特に顕著 > # 比較元プラン > # 検索 : 単純、レスポンス : 複数テーブルの join が必要で複雑 > > no cache : 38.224745626 m > cached : 0.006153807 m > > > # 比較先プラン > # 検索 : 複雑、レスポンス : 単一テーブル単一カラムの配列で単 純 > > no cache : 1.860050647 m > cached : 0.035776146 m ローカルで本番同等のデータを再現して計測
Confidential © ENECHANGE Ltd.