This commit is contained in:
Piotr Biernat 2024-12-05 16:56:54 +01:00
parent faefaceaf1
commit 7957488a31
15 changed files with 41 additions and 31 deletions

View File

@ -5,10 +5,20 @@
"Tags": ["basket-svc", "basket", "https", "service"],
"Port": 443,
"Connect": {
"Native": true
"Native": true,
"SidecarService": {
"Port": 20001,
"Check": {
"Name": "Connect Envoy Sidecar",
"TCP": "127.0.0.1:20001",
"Interval": "5s"
}
}
},
"Check": {
"TCP": "__IP__:443",
"Interval": "5s",
"Timeout": "1s",
"DeregisterCriticalServiceAfter": "10s"
}
}

View File

@ -7,7 +7,7 @@ APP_PATH_PREFIX=/basket
APP_KV_NAMESPACE=dev.egommerce/service/basket-svc
LOGGER_ADDR=api-logger:24224
REGISTRY_ADDR=api-registry:8500
REGISTRY_ADDR=api-registry:8501
DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
CACHE_ADDR=api-cache:6379
CACHE_PASSWORD=12345678

View File

@ -14,18 +14,20 @@ waitForService()
done
}
update-resolv # provided by stack - better approach - single copy
update-resolv
update-ca-certificates
waitForService "api-registry:8500"
waitForService "postgres-db:5432"
# waitForService "postgres-db.service.ego.io:5432"
waitForService "api-eventbus:5672"
# waitForService "esb.service.ego.io:5672"
waitForService "api-logger:24224"
# waitForService "logger.service.ego.io:24224"
waitForService "pricing-svc:443"
waitForService "api-registry:8501"
waitForService "esb.service.ego.io:5672"
waitForService "logger.service.ego.io:24224"
waitForService "postgresdb.service.ego.io:5432"
# waitForService "pricing.service.ego.io:443"
# waitForService "api-eventbus:5672"
# waitForService "api-logger:24224"
# waitForService "db-postgres:5432"
# waitForService "pricing-svc:443" #dev-disabled
register-service
# run migrations
migrate.sh

1
deploy/certs Symbolic link
View File

@ -0,0 +1 @@
../../stack/deploy/certs/basket-svc/

View File

@ -29,7 +29,7 @@ func main() {
}
func healthCheck() bool {
run, err := os.Open("/app.run")
run, err := os.Open("./app.run")
if err != nil {
return false
}

View File

@ -25,7 +25,7 @@ func main() {
a.RegisterPlugin(app.CachePlugin(cArr))
a.RegisterPlugin(app.DatabasePlugin(cArr))
a.RegisterPlugin(app.EventbusPlugin(cArr))
a.RegisterPlugin(app.RegistryPlugin(cArr))
// a.RegisterPlugin(app.RegistryPlugin(cArr))
while := make(chan struct{})
err := a.Start(while)

View File

@ -4,7 +4,7 @@ go 1.18
require (
git.pbiernat.io/egommerce/api-entities v0.2.3
git.pbiernat.io/egommerce/go-api-pkg v0.3.18
git.pbiernat.io/egommerce/go-api-pkg v0.3.24
github.com/georgysavva/scany/v2 v2.0.0
github.com/go-pg/migrations/v8 v8.1.0
github.com/go-pg/pg/v10 v10.10.7

View File

@ -37,8 +37,8 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
git.pbiernat.io/egommerce/api-entities v0.2.3 h1:mR6EYfZkAzh4teydb7KXDBWoxwVW3qasnmmH5J3mnas=
git.pbiernat.io/egommerce/api-entities v0.2.3/go.mod h1:INXAG5x4+i+vNwg1NpfPHiDW8nY1kn1K7pgLOtX+/I0=
git.pbiernat.io/egommerce/go-api-pkg v0.3.18 h1:0+C9BMsllrNvRbh4kb7dJ5lrzP1Lc7J4pb+KV76YrXk=
git.pbiernat.io/egommerce/go-api-pkg v0.3.18/go.mod h1:XIy2mmvRNIzQmYIUAcDZafhRPxTQFS2HDmsK7ZQ6980=
git.pbiernat.io/egommerce/go-api-pkg v0.3.24 h1:if6xsFOStckWdGm7kcgKWOhOGOe6iIBOOr+3DjgX5tM=
git.pbiernat.io/egommerce/go-api-pkg v0.3.24/go.mod h1:XIy2mmvRNIzQmYIUAcDZafhRPxTQFS2HDmsK7ZQ6980=
github.com/Azure/azure-sdk-for-go v44.0.0+incompatible h1:e82Yv2HNpS0kuyeCrV29OPKvEiqfs2/uJHic3/3iKdg=
github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs=
github.com/Azure/go-autorest/autorest v0.11.18 h1:90Y4srNYrwOtAgVo3ndrQkTYn6kf1Eg/AjTFJ8Is2aM=

View File

@ -21,7 +21,7 @@ const (
defNetAddr = ":443"
defMongoDbURL = "mongodb://mongodb:12345678@mongo-db:27017"
defPathPrefix = "/basket"
defRegistryAddr = "api-registry:8500"
defRegistryAddr = "api-registry:8501"
defEbEventsExchange = "api-events"
defEbEventsQueue = "basket-svc"
)

View File

@ -1,8 +1,6 @@
package server
import (
"strings"
"github.com/gofiber/fiber/v2"
"git.pbiernat.io/egommerce/go-api-pkg/fluentd"
@ -17,10 +15,10 @@ func SetupMiddleware(s *Server) {
func LoggingMiddleware(log *fluentd.Logger) func(c *fiber.Ctx) error {
return func(c *fiber.Ctx) error {
path := string(c.Request().URI().Path())
if strings.Contains(path, "/health") {
return c.Next()
}
// path := string(c.Request().URI().Path())
// if strings.Contains(path, "/health") {
// return c.Next()
// }
log.Log("Request: %s, remote: %s, via: %s",
c.Request().URI().String(),

View File

@ -69,7 +69,7 @@ func (s *Server) RegisterHandler(name string, fn func() any) {
func (s *Server) OnShutdown() {
// s.GetLogger().Log("Server %s is going down...", s.ID)
s.GetRegistry().Unregister()
// s.GetRegistry().Unregister()
// a.clearMetadataCache()
s.GetEventBus().Close()
s.GetDatabase().Close()

View File

@ -18,7 +18,7 @@ import (
)
const (
ServiceUserAgent = "basket-httpclient"
ServiceUserAgent = "basket-api/internal"
)
type BasketService struct {

View File

@ -35,8 +35,7 @@ func AddProductToBasket(srv *service.BasketService, productID, qty int, basketID
return basket, nil
}
qty = item.Quantity + qty
err = srv.UpdateItem(ctx, item, qty)
err = srv.UpdateItem(ctx, item, item.Quantity+qty)
if err != nil {
srv.Log("UpdateItem error: %v", err)
}

View File

@ -22,12 +22,12 @@ type CommandRunner struct {
func NewCommandRunner(cmd string, srvc *service.BasketService) *CommandRunner {
rnr := &CommandRunner{}
rnr.cmd = getCommand(cmd, srvc)
rnr.cmd = initCommand(cmd, srvc)
return rnr
}
func getCommand(cmd string, srvc *service.BasketService) Command {
func initCommand(cmd string, srvc *service.BasketService) Command {
// fmt.Printf("getCommand: %v\n", cmd)
var c Command

View File

@ -174,8 +174,8 @@ func (w *Worker) processMsg(srvc *service.BasketService, m amqp.Delivery) {
// w.Logger.Log("Removing product #%d from basket #%s. ReqID: #%s", productID, basketID, reqID)
// }
rnr := NewCommandRunner((data["command"]).(string), srvc)
ok, _ = rnr.run(data)
r := NewCommandRunner((data["command"]).(string), srvc)
ok, _ = r.run(data)
if ok {
w.GetLogger().Log("Successful executed message \"%s\"\n", name)
fmt.Printf("Successful executed message \"%s\"\n", name)