マイクロサービスアーキテクチャ入門

Created: 2024/12/31

マイクロサービスアーキテクチャとは

概要

マイクロサービスアーキテクチャは、機能を分散してシステムを開発する手法です。
例えば、商品の検索機能と商品の管理機能を別のシステムとして開発しますが、UI 上では一つのシステムとして稼働します。

特徴

メリット

  • フロントエンドとバックエンドを完全に分離して開発可能
  • 機能ごとに開発が可能
  • メンテナンスが容易

デメリット

  • 学習コストが多い
  • データの一貫性を保つことが困難

背景

今まではモノリスアーキテクチャを利用して開発を行ってきました。この「Nect Life」もRuby on Railsのモノリスで開発しています!

そこで、個人的によりモダンな開発に興味があり学んでみました。
あと、モノリスではWeb API関連の部分を意思しきしなくても開発できるので、Web APIを理解する目的でも学習を始めました。

技術スタック

フロントエンド

  • HTML/CSS
  • JavaScript

バックエンド

  • Python

フレームワーク

  • Flask

データベース

  • SQLite

実装したもの

概要

今回実装したのは、単純なユーザーの登録と閲覧ができるWeb アプリです。

画面

  • ユーザーの登録画面
  • ユーザーの一覧画面
  • ユーザーの詳細画面

機能

  • ユーザー登録機能
  • ユーザー閲覧機能

苦労したこと

  • JavaScriput
    • 今回初めてJavaScriptを使いましました。その中で都度学習しながらデータの処理などを構築するのに苦労しました。
  • HTTPリクエストの開発
    • GETメソッドやPOSTメソッドなどのHTTPリクエストを作りました。そこでのAPIに関する知識などを学習しながら作るのがむずかしかったです。

今後の展望

  • 他の機能の追加
    • 削除機能やメッセージ機能なのど
  • Nect Lifeと繋げるシステムの開発
    • 投稿するとDiscodeに通知されるという機能をPythonで作り機能を外部で作ってみたいですね。あくまで妄想...
  • Go言語
    • Pythonで学習した後は、Go言語でバックエンド作りたいですね。