Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Summary the work with MicroService tech stack #6

Open
CodeBear801 opened this issue Aug 12, 2020 · 3 comments
Open

Summary the work with MicroService tech stack #6

CodeBear801 opened this issue Aug 12, 2020 · 3 comments
Labels

Comments

@CodeBear801
Copy link
Contributor

CodeBear801 commented Aug 12, 2020

In the past 1 ~ 2 years, @wangyoucao577, @CodeBear801 work with team set up a bunch of microservices. We met lots of changeless and also spend time on things which is not matter that much, but when look back, all of us feel a great of improvement, as a developer and also as a high efficiency development team.

We want to write a series summaries for ourselves and also for the team, which would cover:

  • How to clarify problem set with user story mapping
  • How to write clear and meaningful document
  • Generate external interface using open api
  • Communication between sub-system via grpc, or via message bus
  • Test driven development
  • Code search patterns
  • Continues integration via github action and trivas
  • Continues deployment via jenkins and Kubernetes
  • Set up shared development environment via remote development in container with vscode
  • Set up local dependencies via docker compose
  • Event driven(option)
  • Distribute tracking(option)
  • Log analysis(option)
  • Idempotence(option)

How about create a folder called startupOS?

@CodeBear801
Copy link
Contributor Author

After syncing with @wangyoucao577 , there are two kinds of topics in the list

  • One is about experience summary, such as code review and CI/CD, we think information like: why, some useful examples, some recommendations would be helpful.
  • Another category is better to have a story/use case to demo the idea, like event driven/distribute tracking. Will come out a story first.

@wangyoucao577
Copy link
Contributor

A little more tips:

  • monitor service by prometheus
  • OpenAPI -> Protobuf/Flatbuffer, provides all these contents via restful API
  • Golang Project layout: https://github.com/wangyoucao577/go-project-layout
  • Docker tag/app version management practice
  • Istio/envoy: service discovery, tracing, service mesh

Set up local dependencies via docker compose

https://github.com/e-commerce-sample/ecommerce-devops shows a very good example. Use docker-compose to set up all env is an excellent idea.

Also, https://github.com/GoogleCloudPlatform/microservices-demo demos a lot of microservices implemented by various languages. It might be basic enough to Google's engineers. However, ecommerce is a little bit far away from our domain. Maybe we'd better to figure out a story related on the LBS/Nav/Direction/Map/...?

For experience summary, we may create a new folder microservices_tech_stack under this repo. But for the new story/demo, let's create another repo to show all contents in one place.

@wangyoucao577
Copy link
Contributor

wangyoucao577 commented Dec 2, 2020

Found excellent template Go restful project ribice/gorsk. We can build similar template repo but a little bit different contents once we groomed the idea.

The author also has some excellent posts for reference:

A little more discuss on Go web frameworks. It seems that we made a good choice on go-chi.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants