Skip to content

Add getting started index and experienced developers guide (#12) #15

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

Closed
wants to merge 1 commit into from

Conversation

ryan0x44
Copy link

Initial version of a Getting Started Guide for Experienced Developers.

Ideas for improvements:

  • More code examples
  • Add "Configuration: How should Go kit services be configured?"
  • Add "Caching: How should Go kit services interface with cache systems?"

I hope this gives us a good place to start.


Services are where all of the business logic is implemented.

An Endpoint might glue multiple Services together.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"A Service typically glues multiple Endpoints together."

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you saying that you might have 4 Endpoints (e.g. create, edit, update, delete ToDo items) and you might have a Service that glues them together (e.g. the ToDo service)?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. (Did you really write this just now, in October, or was it GitHub's replication lag?)

* Load balancing
* Distributed tracing

You can even chain multiple Middlewares to an Endpoint or Service.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A bit about the two type of middlewares (Service and Endpoint) would be useful, and then it would follow to mention how to layer in behavior at the Transport level with Before, After, and Finalizer funcs.

@peterbourgon
Copy link
Member

Ah, okay, I see. When we were talking, I envisioned something different for these guides: basically, the stringsvc tutorial, except much more fleshed-out, changed to end with a REST-y transport like profilesvc, and narrated in different ways (and perhaps with different levels of detail) depending on the target persona.

But If this is what you had in mind all along, then that's great; I'd just say each of these items belong in an expanded FAQ, and we should drop the guides. As it stands now my sense is that it's too short, and too conceptually similar to the FAQ, to warrant being a separate set of things.

WDYT?

@peterbourgon
Copy link
Member

I've moved all of this stuff into the FAQ, and re-org'd it a bit. Does it look OK? With a LGTM I'll close this PR and get to work on #14.

@ryan0x44
Copy link
Author

FAQ is looking good! I would really love to see the Persistence section added to the FAQ (maybe under More specific topics), and I think the examples from the Dependency Injection section could be worked into the related FAQ section as well.

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

Successfully merging this pull request may close these issues.

2 participants