ランキングに戻る

micro/services

Go

Real World Micro Services

microservices
スター成長
スター
1.3k
フォーク
139
週間成長
Issue
44
5001k
2017年1月2018年9月2020年6月2022年3月
成果物Go Modulesgo get github.com/micro/services
README

Micro Services Go.Dev reference License

Real world Micro services

Overview

Micro services provide the fundamental building blocks for any products, apps or services. They can be used in isolation or combined to create powerful distributed systems. The services are intended to be consumed by each other using RPC and externally through the Micro API.

Rationale

Read more about the reason for Micro Services in this blog post.

Interfaces

Every service starts with a protobuf interface definition, which is a standard used by Google and everyone else now that gRPC is so dominant. The idea is to define the API in protobuf, code generate and implement the handlers for it. The services can be called by other services on the platform using those code generated clients or an API Gateway, which Micro provides. External calls via the API use the same format but with HTTP/JSON endpoints.

Services

Services available thus far:

  • address - Address lookup by postcode
  • analytics - Track and retrieve events
  • answer - Instant answers to any question
  • app - Serverless app deployment
  • avatar - Generate an avatar
  • bitcoin - Bitcoin price and transaction info
  • cache - Fast access key-value storage
  • carbon - Purchase carbon offsets
  • chat - Instant messaging service
  • comments - Add comments to any App
  • contact - Store your contacts
  • cron - Schedule cron jobs
  • crypto - Cryptocurrency prices, quotes, and news
  • currency - Exchange rates and currency conversion
  • db - Serverless postgres database
  • dns - DNS over HTTPS (DoH)
  • email - Send emails in a flash
  • emoji - All the emojis you need 🎉
  • ethereum - Ethereum API explorer
  • evchargers - Find electric vehicle (EV) chargers wherever you go
  • event - Event stream processing
  • file - Store, list, and retrieve text files
  • forex - Foreign exchange (FX) rates
  • function - Serverless lambda functions
  • geocoding - Address geocoding and reverse lookup
  • gifs - Quick and simple GIF search
  • google - Google search service
  • helloworld - Just saying hello world
  • holidays - Find the holidays observed in a particular country
  • id - Generate unique IDs (uuid, snowflake, etc)
  • image - Upload, resize, and convert images
  • ip - IP to geolocation lookup
  • joke - Funny Jokes
  • lists - Make a list
  • location - Real time GPS location tracking and search
  • memegen - Generate funny memes
  • minecraft - Minecraft server ping
  • movie - Search for movies
  • mq - PubSub messaging
  • news - Get the latest news
  • nft - Explore NFT Assets
  • notes - Store and retrieve notes
  • otp - One time password generation
  • password - Generate strong passwords
  • ping - Ping any IP
  • place - Search for places
  • postcode - Fast UK postcode lookup
  • prayer - Islamic prayer times
  • price - Global commodities index
  • qr - QR code generator
  • quran - The Holy Quran
  • routing - Etas, routes and turn by turn directions
  • rss - RSS feed crawler and reader
  • search - Indexing and full text search
  • sentiment - Real time sentiment analysis
  • sms - Send SMS messages
  • space - Infinite cloud storage
  • spam - Check if an email is spam
  • stock - Live stock quotes and prices
  • stream - Ephemeral message streams
  • sunnah - Traditions and practices of the Islamic prophet, Muhammad (pbuh)
  • thumbnail - Create website thumbnails
  • time - Time, date, and timezone info
  • translate - Language translation service
  • tunnel - Tunnel HTTP requests
  • twitter - Realtime twitter timeline & search
  • url - URL shortening, sharing, and tracking
  • user - Authenticate and manage users
  • vehicle - UK vehicle lookup
  • wallet - Virtual Wallet
  • weather - Real time weather forecast
  • wordle - Multiplayer wordle
  • youtube - Search for YouTube videos

Usage

Micro Services depend on Micro

Run Micro

Install and run the server first

micro server

Run a Service

Run a service from source

micro run github.com/micro/services/helloworld

Call a Service

To call a service from another

import "github.com/micro/services/helloworld/proto"

Call it through the API

curl "http://localhost:8080/helloworld/Call?name=Alice"

From the command line

micro helloworld call --name=Alice

Browse to

http://localhost:8082/helloworld/Call

Contribute

We welcome contributions of additional services:

  • Services must be built using the Micro platform
  • Any dependency must be configured using the Micro Config
  • All services must include a README.md and be well commented

Config

Config for each service should be stored under the service key by name

E.g db postgres host address db.address

関連リポジトリ
micro-editor/micro

A modern and intuitive terminal-based text editor

GoGo ModulesMIT Licensemicrotext-editor
micro-editor.github.io
29.1k1.3k
zyedidia/micro

A modern and intuitive terminal-based text editor

GoGo ModulesMIT Licensemicrotext-editor
micro-editor.github.io
25.7k1.2k
micro/go-micro

A Go agent harness and service framework

GoGo ModulesApache License 2.0gogolang
go-micro.dev
23k2.4k
micro/micro

An API development platform

GoGo ModulesApache License 2.0microgo
12.2k1.1k
vercel/micro

Asynchronous HTTP microservices

TypeScriptnpmMIT Licenseasyncawait
10.6k453
hwholiday/learning_tools

Go 学习、Go 进阶、Go 实用工具类、Go DDD 项目落地、Go-kit 、Go-Micro 、Go 推送平台、微服务实践

GoGo ModulesApache License 2.0rpc-grpcgin
hwholiday.com
4.3k725
lonng/nano

Lightweight, facility, high performance golang based game server framework

GoGo ModulesMIT Licensegolanggame
3.2k464
jiujuan/go-collection

:tulip: awesome awesome go, study golang from basic to proficient。Go Study Guide。从学习 Go 基础语法和高级特性,到实战项目,再到架构微服务,最后到跑路。

GoGo Modulesgolangawesome-list
3.2k427
microjs/microjs.com

Fantastic Micro-Frameworks and Micro-Libraries for Fun and Profit!

JavaScriptnpmMIT Licensemicromicrojs
microjs.com
2k611
printfcoder/stack-rpc-tutorials

Stack-RPC 中文示例、教程、资料,源码解读

GoGo ModulesApache License 2.0microstackrpc
stacklabs.cn
1.7k296
hoangvvo/next-connect

The TypeScript-ready, minimal router and middleware layer for Next.js, Micro, Vercel, or Node.js http/http2

TypeScriptnpmMIT Licensejavascriptnextjs
npmjs.com/package/next-connect
1.7k65
amio/awesome-micro

A collection of awesome things regarding zeit's micro.

awesome-listmicro
1.1k61