seata-go-samples

module
v0.0.0-...-fc74bcf Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 2, 2024 License: Apache-2.0

README

seata-go-samples

How to run samples

  1. Start the seata-server service with the docker file under the /dockercomposer folder

    git clone https://github.com/seata/seata-go-samples.git
    
    cd dockercompose
    
    docker-compose -f docker-compose.yml up -d seata-server
    
  2. Start and run a sample, for example let's run a basic distributed transaction sample of AT

    cd at/basic
    
    go run .
    
Customize mysql connection configurations

The default mysql connection configuration is suitable with dockercompose/docker-compose.yml.

You can also customize it by system environment.

System Env Supported:

  1. MYSQL_HOST
  2. MYSQL_PORT
  3. MYSQL_USERNAME
  4. MYSQL_PASSWORD
  5. MYSQL_DB

How to use go mod replace to test samples for new PR

  1. Modify the seata-go dependency version to v0.0.0-incompatible, and remove the version number if it exists in the original dependency path.

    //github.com/seata/seata-go v1.0.3
    github.com/seata/seata-go v0.0.0-incompatibl
    
  2. Find the absolute or relative path to your local code.

    /Users/mac/Desktop/GO/seata-go
    ../seata-go
    
  3. Add the replace module to the go.mod file and change it to the local code path.

    github.com/seata/seata-go =>  ../seata-go
    
  4. Synchronization dependencies.

    go mod tidy
    
  5. Run the sample test code.

You can use your local project forked to test new pr that haven't merged into github.com/seata/seata-go.

  1. Make sure your go version is 1.18 or later.

  2. Fork and download two projects (seata-go and seata-go-samples), and put them into a same local directory.

For examples:

/Users/xxx/code/github.com/yourid/seata-go
/Users/xxx/code/github.com/yourid/seata-go-samples
  1. Execute go work init command in projects root directory.
cd /Users/xxx/code/github.com/yourid
go work init

You will find a go.work file in /Users/xxx/code/github.com/yourid.

  1. Add seata-go and seata-go-samples into the same go workspace.
go work use ./seata-go
go work use ./seata-go-samples

Now, the content of go.work file is as follows.

go 1.19

use (
        ./seata-go
        ./seata-go-samples
)
  1. Run the sample test code in seata-go-samples.

Directories

Path Synopsis
at
integrate_test
tcc
grpc/cmd/client
Package main implements a client for Greeter service.
Package main implements a client for Greeter service.
grpc/cmd/server
Package main implements a business for Greeter service.
Package main implements a business for Greeter service.
xa

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL