Almost 5 years later, this still holds up. Great talk!
@rnkl07072 жыл бұрын
Great talk. Nice explanation. Go is such a powerful language.
@erikdunteman50813 жыл бұрын
As a fellow r/hydrohomie, I respect this man.
@adrianplavka28347 жыл бұрын
Great presentation, could listen to this guy for hours.
@VitalyZdanevich3 жыл бұрын
Thank you for dark background of the slides.
@ornous8 жыл бұрын
very nice talk! I'm going through some of these things myself and it's nice to see what people who are further along have done.
@jeremyduff44448 жыл бұрын
great to see go being used in a finance sector app
@vectorhacker-r27 жыл бұрын
I personally would love to know how they structure their repositories for microservices, wether it's one repo per service or a large monorepo, how they structure the codebase for each, etc.
@Fingiorstyle6 жыл бұрын
Share the repositories is not a good practice. Imagine a company with 15 developers, the amount of commits is big every hour, so everytime a dev needs to push something, it needs to do a git pull. That's one of the problems that microservices solves gracefully. Each microservice having it's own repo, turns easy to track progress and scale each one.
@vectorhacker-r26 жыл бұрын
I DMd to Matt over twitter and he told me that they're using a monorepo.
@MrJord1376 жыл бұрын
@@vectorhacker-r2 awkward lmao
@trentmurray24673 жыл бұрын
@@Fingiorstyle Google uses a monorepo across their entire code base.
@jorisjansen28922 жыл бұрын
@@trentmurray2467 You can do both, but if you develop microservices in a mono-repo, it will take much more effort by your devops teams to manage everything seperatly. Since a PR against UserMicroService does not mean that the TransactionMicroService needs run all the tests cases (just an example).
@SoGoodToKnow7 жыл бұрын
Thank you. Perfect Talk.
@OyelajaOyekan3 жыл бұрын
I'd never have thought to use a bool flag for card status, smart and simple. I'd probably have over engineered it.
@farahali96368 жыл бұрын
great presentation.
@chuganator4 жыл бұрын
Is Go really performant with microservices? I'm seeing online that it's less performant than building microservices with Java.
@TheSurvivor19634 жыл бұрын
In my experience I would say Go is faster than Java, in addition as Matt Heath said, Go has additional features which makes Go easier to learn, implement, compile and deploy, and a complete toolchain for development which is much, much easier to use than ant, maven, gradle, etc... Especially the builtin features in the language itself for concurrency are very easy to use. He mentioned that versioning of libraries was troublesome, but that is fixed now. I have programmed Java for at least 10+ years, but after I started using Go I don't want to go back. And funny you should mention performance, because I just recently implemented a microservice in Go for a costumer,- the feedback from the costumer was: The service is blazingly fast!
@brtk74 жыл бұрын
TheSurvivor1963 Hi, Could you share your stack of open source packages do you use in your go projects in 2020?
@TheSurvivor19634 жыл бұрын
@@brtk7 You really do not need much, because if you install the Go-package most of the toolchain is included. What you may want to install in addition are golint and gosec,- to check your code for compliance and possible questionable constructs. Dependencies to 3. party libraries and their versioning are from Go v. 1.11 handled by the Go-modules which is included in the Go-toolchain. I my opinion, the Go-community have found a pretty good and convenient solution. To compile on my local machine I use simple Makefiles, with targets for compile, clean, format, lint and gosec. At work we use Docker-containers for deployment, so I also prepare a Dockerfile with stage-building inside the project. The Dockerfile is used by the CI-server to solve dependencies, compile and also make a minimal Docker-image to be deployed. To do the actual programming I like to use GoLand from JetBrains since I do programming for a living, and I do not like to spend time hassling with an editor. But, there are many choices ranging from vim, VSCode, Atom and probably many more. All editors should have a plugin that integrates with the Go-toolchain. It's actually up to you which one you like best and gives you less hassle. Does this answer your question, more or less?
@eddwinpaz4 жыл бұрын
I made my MS services without frameworks. Go kind wants you to use their modern language.
@pilkers7458 жыл бұрын
doesn't linkerd use zipkin and do tracing for u?
@vectorhacker-r27 жыл бұрын
Yes, you can add that afaik.
@TheWvirus6 жыл бұрын
this guy has a serious bottle problem :)
@betterculture7 жыл бұрын
Nice presentation. However, I'm guessing there's someone in the audience thinking *I wish this guy would just drop the bottle for at least 15 minutes, so that I can focus on the presentation.*