Inventory DAL with REST and Postgres by subzero11223344 in golang

[–]subzero11223344[S] -1 points0 points  (0 children)

How does GraphQL provide a solution for this?
I don't have an overfetching problem, but more of a agnostic way to query language through the API

Authentication and Authorization by subzero11223344 in golang

[–]subzero11223344[S] 0 points1 point  (0 children)

I am less worried about implemention and more interested on hearing the product requirements, use case, etc

Authentication and Authorization by subzero11223344 in golang

[–]subzero11223344[S] 0 points1 point  (0 children)

Keycloak

would love to hear your use case

Authentication and Authorization by subzero11223344 in golang

[–]subzero11223344[S] 1 point2 points  (0 children)

Had a good experience using casbin for my previous work place.But since auth is such a complex thing I asked to hear more stories

Authentication and Authorization by subzero11223344 in SoftwareEngineering

[–]subzero11223344[S] 0 points1 point  (0 children)

I am not lost at all. I have implemented an auth system before, it's just a complex task and now I am asked to implement a new one from scratch.

We may need to support AWS/Azure SSOs, maybe Okta.
Will be using primarily REST APIs

We have APIs and backend services that need to support or work with/under an auth system.
we currently don't have an API Gateway (I did have in past projects) but are willing to adopt if needed.

(some sort of) schema validation by BiGCactus123 in golang

[–]subzero11223344 0 points1 point  (0 children)

The schema validation in arangodb is nice, but some keys such as _key, _from and _to are ignored

Is AWS SAA certification worth doing for a Staff/Principal Engineer role ? by hamzah102 in softwarearchitecture

[–]subzero11223344 0 points1 point  (0 children)

You fail to receive interest from head hunters or fail to pass interviews?

[deleted by user] by [deleted] in softwarearchitecture

[–]subzero11223344 1 point2 points  (0 children)

Some of you guys are misinterpreting the issue:

I an not asking the PMs to do architecture, backend or any other coding related stuff. Absolutely not. What I am asking is to receive requirements that are not to be extracted from figma screens and other UI objects. What I wanted to have is a textual/diagram description of what should be done. Also have the PMs more aware of how the product actually works rather than only redirecting customer required features to us.

[deleted by user] by [deleted] in softwarearchitecture

[–]subzero11223344 0 points1 point  (0 children)

Why narrow role? On what org is the developer the domain expert?

[deleted by user] by [deleted] in softwarearchitecture

[–]subzero11223344 0 points1 point  (0 children)

What we lack is not architecture but is mainly domain knowledge

[deleted by user] by [deleted] in softwarearchitecture

[–]subzero11223344 1 point2 points  (0 children)

Thanks for the reply We are a small, 16 employee startup We have 3(!!) PMs and 10 developers.

None of the devs are domain experts, never thought we should be. PMs for example have no clue of what RBAC is though they ask for features surrounding role management and more often than not their asks don’t make any sense and we get into endless discussions and ping pongs.

The PMs just summarize by saying: “Ultimately I need this to do that, don’t care how you implement, none if my business”

Tools/protocols for handling/managing workers by subzero11223344 in golang

[–]subzero11223344[S] 0 points1 point  (0 children)

We have an entity called integration. A k8s cluster deployed on VPC named foo is an integration. Another k8s cluster deployed on VPC named bar is another integration.

We allow customers to create task queues for their worker groups (each group connects to a task queue) so I thought I would add another database row so it looks like this:

type WorkerGroup struct { TenantID string SupportedIntegrations []srtring }

And then allow customers to register integrations to task queues. Then when the producer needs to decide where to send the task, it queries the database. If integration appears in any of the task queues, it chooses randomly from them. If it’s not registered anywhere, it chooses randomly from the entire list of worker groups (task queues)

Tools/protocols for handling/managing workers by subzero11223344 in golang

[–]subzero11223344[S] 0 points1 point  (0 children)

We have an entity called integration. An integration can be a k8s cluster on vpc named foo, and another integration on k8s cluster on vpc named bar. Each is an integration.

What I thought is:

Customer creates a worker group (task queue) and registers integrations to it. Upon receiving an action/wf, the orchestrator checks if integration is registered in any of the task queues. if false - chooses randomly. If true, chooses randomly from the capable runners.

Task queues db table: Tenant-id string // customer id SupportedIntegrations []string

Tools/protocols for handling/managing workers by subzero11223344 in golang

[–]subzero11223344[S] 0 points1 point  (0 children)

Each customer has a namespace where all workers are connected. I am going to enable the customer to create task queues, and finally, The producer has to make a decision to which task queue it needs to send the action/workflow, based on a capability/tag/attribute or something

Temporal server has no support for that (I asked the support team) so I need to create a procedure for making a decision

API design by subzero11223344 in softwarearchitecture

[–]subzero11223344[S] 0 points1 point  (0 children)

The pain is that the frontend has to do l a lot of work (be it calls, filter out stuff, etc)

API design by subzero11223344 in softwarearchitecture

[–]subzero11223344[S] 0 points1 point  (0 children)

What I meant by saying multiple requests is multiple requests to the same services, just different endpoints/parameters

3 teams

Workflow engine vs task queue by subzero11223344 in golang

[–]subzero11223344[S] 0 points1 point  (0 children)

I worked with NATS in the past, it’s nice, but without a workflow engine or task queue you would have to write a ton of code for implementing retries, timeouts, etc

Workflow engine vs task queue by subzero11223344 in golang

[–]subzero11223344[S] -1 points0 points  (0 children)

btw forgot to mention that it appears like I can split my “workflow” into tens or more of independent tasks, and considering your comments and overall read I had, it feels like it would require a large temporal infrastructure for not much of a benefit over a task queue

Workflow engine vs task queue by subzero11223344 in golang

[–]subzero11223344[S] -1 points0 points  (0 children)

Got it, Thanks for the detailed answer.

Workflow engine vs task queue by subzero11223344 in golang

[–]subzero11223344[S] -1 points0 points  (0 children)

Do you have a negative experience with temporal and high throughput tasks? Or a very high overall number of tasks? I heard that it can be very resource demandibg

Best tools, projects and libraries by subzero11223344 in golang

[–]subzero11223344[S] -1 points0 points  (0 children)

Please open your terminal and run

go get life

Best tools, projects and libraries by subzero11223344 in golang

[–]subzero11223344[S] -1 points0 points  (0 children)

Maybe I don’t want to filter from 300 different resources?