6 ms·
If you went down the hell hole of microservices please do give descriptive names to services.
by qaq 4y ago
If you went down the hell hole of microservices please do give descriptive names to services.
- makeitdouble 4y agoI think the point still somewhat stands. Imagine a “UserProfile” service. It’s accessed from everywhere to show the handle name, address, icon etc. of your user. Your application grows and your users want way more customization, now they get personas and avatars and can show different profile to different people. Those are full of breaking changes that you want to isolate from the legacy “UserProfile”, how do you name your new service ?
- qaq 4y agohttps://UserProfile/v2/ https://UserProfile/v2/
- Bootvis 4y agoUserProfile2
- praptak 4y agoNewUserProfile, obviously :-)
- em-bee 4y agoYeOldeUserProfile
- saalweachter 4y agoUs3rPr0f1le
- amirulmenjeni 4y ago> Those are full of breaking changes that you want to isolate from the legacy “UserProfile”, how do you name your new service ? Sound like it's better to make a new service. Isn't that the point of Single Responsibility concept?
- makeitdouble 4y agoYou got me confused.
- Jarwain 4y agoUserPersona, where a single UserProfile may have multiple UserPersonas?
- samatman 4y agoI mean, I'd call it the FaceBook in the first place but I'm already on team whimsical. Some of you are thinking, well, what if you need to interface with facebook dot com? Easy, I'd call it the SneedFeed. If you know you know.
- 0x457 4y agoTell me you don't version your APIs without telling me you don't version your APIs.
- makeitdouble 4y agoYou version your APIs, but do you version your services ? Think of your new service as having a different deployment target, its own DB, and could be under a different repo altogether.
- 0x457 4y agoSo? Have you heard of API Gateway and/or HTTP routing based on path prefix or header?
- makeitdouble 4y agoYou're right about the external interface, but you still need to give a name to the actual service behind the URL. From your point on versioning, I'd assume you'd actually call it UserProfileV2 ? PS: to get back to the original point, you're still stuck with a "UserProfileV2" service that does a lot more than just user profiles, but that's not reflected in the name.
- 0x457 4y agoIt depends on the language, but I would probably call it `UserProfile` and change a major version even if it's in an entirely different language. Maybe even kept in the same repo. > PS: to get back to the original point, you're still stuck with a "UserProfileV2" service that does a lot more than just user profiles, but that's not reflected in the name. From what it said in the original comment, it still seems like a user profile to me.
- qaq 4y agoYou def don't want a new DB and for it to be under new repo